2016-07-01 5 views
0

jsonデータとして応答を返すapiにリクエストしています。しかし時には、それはAPIドキュメントを持つhtmlページを返すことがあります。ドキュメンテーションでは、apiがjsonとは異なる応答を送信できることはどこにも言及されていません。 jsonを送信するタイミングとHtmlページを送信するタイミングはパターンがありません。ときどき同じ要求がHTMLや他の回のjson応答を返すことがあります。私はこの例外の可能性がある理由を知りたい。それはAPiまたは私のコードで問題ですか?json apiをリクエストしてHTMLページを取得する

私はそれが設定されていないHTTPリクエストであるためAcceptヘッダーである可能性があり、コードの下にレスポンスをフェッチする

URI uri = new URI(url); 
      BufferedReader b = new BufferedReader(new InputStreamReader(uri.toURL().openStream())); 
      while ((line = b.readLine()) != null) 
      { 
      s.append(line); 
      } 
tokener = new JSONTokener(s.toString()); 

答えて

0

EDIT

を使用しています。以下を試してください。

URI uri = new URI(url); 
URLConnection httpCon = uri.toURL().openConnection(); 
httpCon.setRequestProperty("Accept", "application/json"); 
BufferedReader b = new BufferedReader(new InputStreamReader(httpCon.getInputStream())); 
while ((line = b.readLine()) != null) 
{ 
     s.append(line); 
} 
tokener = new JSONTokener(s.toString()); 
+0

"HttpURLConnectionのタイプをインスタンス化できません"と表示されます。私はjava.net.HttpURLConnectionをインポートしました – Jaydeep

+0

申し訳ありませんがコードを編集 –

+0

ええ、コードは今はエラーフリーです。私はそれを試して更新します。 – Jaydeep

関連する問題