Обработка ошибок соединения и JSoup

Я пытаюсь создать приложение для очистки содержимого нескольких страниц сайта. Я использую JSoup для подключения. Это мой код:

<code>for (String locale : langList){
        sitemapPath = sitemapDomain+"/"+locale+"/"+sitemapName;
        try {
            Document doc = Jsoup.connect(sitemapPath)
                    .userAgent("Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.21 (KHTML, like Gecko) Chrome/19.0.1042.0 Safari/535.21")
                    .timeout(10000)
                    .get();

            Elements element = doc.select("loc");   
            for (Element urls : element) {
                System.out.println(urls.text());
                }
        } catch (IOException e) {
            System.out.println(e);
        }
    }
</code>

Все работает идеально большую часть времени. Однако есть несколько вещей, которые я хочу сделать.

Во-первых, иногда возвращается статус 404 или статус 500, возможно, 301. С моим кодом ниже он просто напечатает ошибку и перейдет к следующему URL. То, что я хотел бы сделать, это попытаться вернуть статус URL для всех ссылок. Если страница соединяется, напечатайте 200, если нет, напечатайте соответствующий код состояния.

Во-вторых, я иногда улавливаю эту ошибку & quot; java.net.SocketTimeoutException: чтение истекло & quot; Я мог бы увеличить время ожидания, однако я бы предпочел попытаться подключиться 3 раза, после сбоя - в третий раз, когда я хочу добавить URL к & quot; fail & quot; массив, чтобы я мог повторить неудачные соединения в будущем.

Может ли кто-нибудь с большим знанием, чем я, помочь мне?

Ответы на вопрос(2)

Ваш ответ на вопрос