2017-04-09 87 views
0

我非常新的Java和我找不到合適的答案,這在任何地方,所以: 我想檢查是否加載URL不能因爲一次加載錯誤或更具體的錯誤429(請求太多)。檢測錯誤429,同時加載URL

我使用這個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解析它。

當它不起作用我正在做的遊戲只是崩潰。所以我想編寫一個if函數或者一些處理錯誤的東西,並相應地做一些事情。

有沒有適當的方法做到這一點?謝謝!

回答

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