2017-02-08 2 views
0

ブラウザからAPIを呼び出すと、ステータスコード200とJSONオブジェクトが返されます。私は、Java/JSoupからAPIを呼び出す場合しかし、それは「URLをフェッチするHTTPエラーステータス= 500」500のステータスコードとを返すブラウザでブラウザが200、JSが500のAPI

String json = Jsoup.connect(url) 
    .ignoreContentType(true) 
    .timeout(5000) 
    .userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.120 Safari/535.2") 
    .ignoreContentType(true) 
    .execute() 
    .body(); 
System.out.println(json); 
+0

Webデベロッパーツールを使用して、ブラウザーとJSoupによって送信されている内容を正確に確認し、その違いを確認します。おそらく、いくつかのヘッダーがレスポンスに影響を与えている可能性があります。 –

答えて

1

、HTTPの詳細を表示するには、開発者モードを使用します要求。

Javaプログラムを実行している場合は、HTTPリクエストのデバッグログを取得します(参照:Jsoup http logging

は、要求の細部比較 - すべてのヘッダーが同じである、またはあなたが特定していることを確認してくださいを彼らは関連性がありません。あなたは、サーバーへのアクセス権を持っている場合

は、500の原因の詳細を与え、サーバーログ内のメッセージを探してください。

関連する問題