2017-10-25 18 views
0

실행중인 로컬 서버에 GET 요청을 보내려고합니다. 올바른 데이터를 반환하는 데 문제가 발생했습니다. '승인되지 않은'응답이 표시됩니다. String 'token'이 맞으면 누구나 눈에 띄는 문제를 발견 할 수 있습니까?토큰 인증을 사용하는 Java HTTP 요청

protected Object doInBackground(Void... params) { 
     try { 
      String url = "http://192.168.0.59:8000/events/"; 
      URL object = new URL(url); 
      HttpURLConnection con = (HttpURLConnection) object.openConnection(); 
      con.setDoOutput(true); 
      con.setDoInput(true); 
      con.setRequestMethod("GET"); 
      con.setRequestProperty("Content-Type", "application/json; charset=UTF-8"); 
      con.setRequestProperty("Accept", "application/json"); 
      con.setRequestProperty("Authorization:", "Token " + token); 

      //Display what the GET request returns 
      StringBuilder sb = new StringBuilder(); 
      int HttpResult = con.getResponseCode(); 
      if (HttpResult == HttpURLConnection.HTTP_OK) { 
       BufferedReader br = new BufferedReader(
         new InputStreamReader(con.getInputStream(), "utf-8")); 
       String line = null; 
       while ((line = br.readLine()) != null) { 
        sb.append(line + "\n"); 
       } 
       br.close(); 
      } else { 
       System.out.println(con.getResponseMessage()); 
      } 
     } catch (Exception e) { 
      Log.d("Uh Oh","Check your network."); 
      return false; 
     } 
     return false; 

} *

내가 명령 줄에서 작업 컬 요청을 얻을 수있었습니다 :

curl -H "Authorization: Token token" http://0.0.0.0:8000/events/ 
+0

자신을 인증해야합니다. – atom

+0

https://stackoverflow.com/questions/12732422/adding-header-for-httpurlconnection을 참조하십시오. –

+1

권한 부여 : "'에':'을 버리십시오. –

답변

1

그것은 요청하지 않는 얻을로이 문제가 con.setDoOutput(true);을 포함하여 발생 된 밝혀를 시체를 포함하십시오.