2017-04-07 12 views
0

HttpURLConnectionを使用して承認ヘッダーでGET要求を正常に送信するのには苦労しています。エラーコード400が返されます。HttpURLConnectionヘッダーの承認を送信します。

私はOKHttpClientで成功しましたが、依存関係を使用しないように要求しました。ここで

は私のコードです:

public static String GETReqUserProfiles() throws IOException { 

    URL url = new URL(UrlString); 
    HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); 

    urlConnection.setDoOutput(true); 
    urlConnection.setRequestMethod("GET"); 
    urlConnection.setRequestProperty("Content-Type", "application/" + "json"); 
    urlConnection.setRequestProperty("authorization", "Bearer " + MANAGEMENT_TOKEN); 

    urlConnection.connect(); 

    if (urlConnection.getResponseCode() != 200) { 
     throw new RuntimeException("Failed : HTTP error code : " 
       + urlConnection.getResponseCode()); 
    } 

    String assembledOutput = ""; 

    BufferedReader responseBuffer = new BufferedReader(new InputStreamReader(
      (urlConnection.getInputStream()))); 

    String output; 
    System.out.println("Output from Server:\n"); 
    while ((output = responseBuffer.readLine()) != null) { 
     System.out.println(output); 
     assembledOutput = assembledOutput + output; 
    } 

    urlConnection.disconnect(); 

    return assembledOutput; 
} 

EDIT:作業

すべて -

問題がでました:

urlConnection.setDoOutput(true); 

setDoOutput(真):宣言しますが、送信側要求のあるボディ。 GETリクエストは本文を必要としないので、falseに設定するかコメントアウトすることができます。代わりに、POST、PATCH、PUTなどのために使用されます(ボディを必要とするリクエスト)。

も注意してください。

urlConnection.setRequestMethod("GET"); 

は、GETリクエストを送信した場合、具体的に宣言する必要はありません(私は読みやすくするためのコードに残っている)

私は(あなたが含まれている場合setDoOutputと思われますtrue)、要求メソッドが指定されていない場合、メソッドはデフォルトでPOST要求になります。

+0

プットurlConnection.connect(依存関係を使用したくない場合は)ここにコードを表示することができます。後でsetRequestProperty – AbhayBohra

+0

こんにちはAbhay、ありがとう、私は接続を含めるとまだ400を返します:( – ccdle12

答えて

0

私はこれを使用するためのライブラリを開発しました。

https://github.com/kksingla/fetchjson

あなたは

+0

いいえ問題バディ.. –

+0

こんにちはKushaal私はソースコードを読んで、それは有用で類似しているが、この特定の問題に対処していないようです私はauth0に接続しようとしていますが、私はOKHttpClientで成功しています)なぜ400エラーが戻ってくるのか考えてみましょうか? – ccdle12

+0

400が間違ったリクエストのためにあなたのヘッダをチェックしてください。そこに間違ったデータ(通常はキー)を入れています。 –

関連する問題