Question

J'espère que quelqu'un pourra m'aider car je l'ai cherché mais je n'ai rien trouvé qui fonctionne.

Je me connecte à un certain nombre d'URL à partir d'une liste et tout fonctionne bien, mais j'ai ensuite commencé à recevoir une erreur 404 sur certaines, c'est pourquoi je veux maintenant détecter l'erreur afin que le programme ne se termine pas et continue de parcourir les URL de la liste.

C'est l'erreur que j'ai eu

org.jsoup.HttpStatusException: HTTP error fetching URL. Status=404, URL=http:nameofthesite

J'utilise Jsoup.connect et l'erreur est provoquée dans cette ligne de code

    Document doc= Jsoup.connect(countryUrl[i2]).timeout(10*1000)                      
    .userAgent("Mozilla/5.0 (Windows NT 6.0) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.46 Safari/536.5")
    .get();

Comment puis-je modifier le code pour pouvoir obtenir le code d'état.J'ai essayé Connection.response (quelque chose que j'ai trouvé sur ce site comme solution à ce genre de problème) mais j'obtenais une erreur de casting.

 Connection.response  response= Jsoup.connect(countryUrl[i2]).timeout(10*1000)                      
            .userAgent("Mozilla/5.0 (Windows NT 6.0) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.46 Safari/536.5")
            .execute();
            int statusCode = response.statusCode();
            if(statusCode==200){

mais j'obtiens l'erreur suivante

groovy.lang.MissingMethodException: No signature of method: static org.jsoup.Connection.response() is applicable for argument types: (org.jsoup.helper.HttpConnection$Response) values: [org.jsoup.helper.HttpConnection$Response@c7325ae]
Possible solutions: respondsTo(java.lang.String), respondsTo(java.lang.String, [Ljava.lang.Object;)

Toute aide sera appréciée, merci.

Était-ce utile?

La solution

Il y a une faute de frappe dans votre code :

Connection.response response = Jsoup.connect(...) ...
//         ^
//         |

Response est une classe statique (interface pour être correct) de Connection, alors changez simplement votre code :

Connection.Response response = Jsoup.connect(...) ...
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top