2017-04-09 15 views
0

私はJavaにはまだまだ慣れていないので、どこにでも適切な答えが見つかりませんでした。 ロードされたURLがロードできないかどうかを確認しようとしています。エラーまたはより具体的にはエラー429(要求が多すぎます)。URLをロード中にエラー429が検出されました

は、私はこれを使用してURLからデータを取得しています:それは実際には非常にうまく機能

String finalLine = null; 
    URL oracle = new URL(url); 
    BufferedReader in = new BufferedReader(
    new InputStreamReader(oracle.openStream())); 

    String inputLine; 
    while ((inputLine = in.readLine()) != null) 
     finalLine = inputLine; 
    in.close(); 
    return finalLine; 

、その後、私はそれを解析するGSONを使用しています。

私が取り組んでいるゲームがうまくいかないときは、ちょうどクラッシュしています。だから私はエラーを処理し、それに応じて行う関数や何かをコード化したいと思います。

これを行う適切な方法はありますか?ありがとう!

答えて

0

これが意味するところなら、HttpURLConnection#getResponseCode()を使用して応答コードをチェックしてみてください。

URL oracle = new URL("http://httpstat.us/429"); // url whose response code is 429 
HttpURLConnection openConnection = (HttpURLConnection) oracle.openConnection(); 

if (openConnection.getResponseCode() == 429) { 
    System.out.println("Too many request"); 
} else { 
    System.out.println("ok"); 
} 

openConnection.disconnect(); 
+0

私はこれも使用してページの内容を取得しますか? –

+0

はい。入力ストリームを 'URL'インスタンスから取得する代わりに、' getInputStream() 'メソッドを使用して' HttpURLConnection'インスタンスから取得します。 – bmdelacruz

関連する問題