Gestion des erreurs de connexion et JSoup

Je suis en train de créer une application pour gratter le contenu de plusieurs pages sur un site. Je suis à l'aide de JSoup pour vous connecter. C'est mon 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);
        }
    }

Tout fonctionne parfaitement, la plupart du temps. Cependant, il ya quelques choses que je veux être en mesure de le faire.

Tout d'abord parfois un statut 404 sera de retour ou un 500 statut peut-être une 301. Avec mon code ci-dessous, il vous suffit d'imprimer l'erreur et de se déplacer sur le lien suivant. Ce que je voudrais être en mesure de faire est d'essayer d'être en mesure de retourner l'url de l'état de tous les liens. Si la page se connecte d'impression de 200, si pas imprimer les code d'état.

Deuxièmement, j'ai parfois rattraper cette erreur "java.net.SocketTimeoutException: Read timed out" je pourrais augmenter mon délai d'attente cependant, je préfère essayer de connecter 3 fois, à défaut de la 3ème fois que je veux ajouter l'URL d'un "échec" de la matrice de sorte que je peux retenter l'échec de la connexion à l'avenir.

Quelqu'un peut plus de connaissance que moi m'aider?

InformationsquelleAutor Peck3277 | 2012-04-20