groovy,Jsoup, Statuscode abrufen
-
26-12-2019 - |
Frage
Ich hoffe, jemand kann mir dabei helfen, da ich danach gesucht habe, aber nichts Funktionierendes gefunden habe.
Ich stelle eine Verbindung zu einer Reihe von URLs aus einer Liste her und alles funktioniert einwandfrei, aber dann bekam ich bei manchen einen 404-Fehler, daher möchte ich jetzt den Fehler abfangen, damit das Programm nicht beendet wird und die Listen-URLs weiter durchgeht.
Dies ist der Fehler, den ich erhalten habe
org.jsoup.HttpStatusException: HTTP error fetching URL. Status=404, URL=http:nameofthesite
Ich verwende Jsoup.connect und der Fehler wird in dieser Codezeile verursacht
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();
Wie kann ich den Code ändern, damit ich den Statuscode erhalten kann?Ich habe Connection.response ausprobiert (etwas, das ich auf dieser Website als Lösung für diese Art von Problem gefunden habe), aber ich habe einen Casting-Fehler erhalten
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){
aber ich erhalte die folgende Fehlermeldung
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;)
Wir freuen uns über jede Hilfe, danke.
Lösung
Ihr Code enthält einen Tippfehler:
Connection.response response = Jsoup.connect(...) ...
// ^
// |
Response
ist eine statische Klasse (um korrekt zu sein eine Schnittstelle) von Connection
, also ändern Sie einfach Ihren Code:
Connection.Response response = Jsoup.connect(...) ...