2012-05-15 1 views
2

Я пытаюсь выяснить логику того, как проверить, является ли URL-адрес 404, или если он отключен. Я не могу понять это!Jsoup, определить между таймаутом и 404

Это то, что я до сих пор:

while (i < retries){ 
      try { 
       response = Jsoup.connect(url) 
         .userAgent("Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.21 (KHTML, like Gecko) Chrome/19.0.1042.0 Safari/535.21") 
         .timeout(10000) 
         .execute(); 
       success = true; 
       break; 
      } catch (IOException e) { 
       success = false; 
      } 
      System.out.println("Attempt " + i + " " + url); 
      i++; 
     } 
    } 

    public int getUrlStatus(){ 
     if(success){ 
      int statusCode = response.statusCode(); 
      return statusCode; 
     }else { 
      return 404; 
     } 
    } 

Из того, что я могу понять это сказать мне, что страница 404 не, если страница timesout. Как я могу проверить это?

ответ

3

Вы можете поймать SocketTimeoutException при подключении:

try { 
       response = Jsoup.connect(url) 
         .userAgent("Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.21 (KHTML, like Gecko) Chrome/19.0.1042.0 Safari/535.21") 
         .timeout(10000) 
         .execute(); 
       success = true; 
       break; 
      } catch (SocketTimeoutExceptione) { 
       success = false; 
      System.out.println("Timeout occured"); 
      } 

 Смежные вопросы

  • Нет связанных вопросов^_^