2017-11-14 3 views
1

Ich versuche, Daten von der Website zu erhalten. Wenn ich diesen Code in IntelliJ IDEA alles verwenden funktioniert gut, aber wenn ich diesen Code in Android Studio und reale Gerät verwenden, erhalte ich:Android. HTTP-Fehler beim Abrufen der URL Status = 403

org.jsoup.HttpStatusException: HTTP error fetching URL. Status=403

Hier ist mein Code:

private static final String URL = "http://www.openaip.net/airports?apttype_type_filter=All&country_filter=All&name_filter=EHAM"; 

private static final String useragent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) " + 
       "AppleWebKit/537.36 (KHTML, like Gecko) " + 
       "Chrome/52.0.2743.116 Safari/537.36"; 

Document document = Jsoup.connect(URL) 
         .userAgent(useragent) 
         .ignoreContentType(true) 
         .timeout(5000) 
         .execute() // <-- on this line I get error 
         .parse(); 

Alle Informationen das ich gefunden habe, ist nur über "userAgent()" Methode, aber es hat nicht geholfen.

UPD: Sorry, es war mein schlechtes in Frage. Korrekte URL: http://www.openaip.net/airports?apttype_type_filter=All&country_filter=All&name_filter=EHAM, aber ich habe immer noch das gleiche Problem.

Error: org.jsoup.HttpStatusException: HTTP error fetching URL. Status=403, URL= http://www.openaip.net/airports?apttype_type_filter=All&country_filter=All&name_filter=EHAM

Antwort

2

Ich habe die fehlende header in der Anfrage hinzugefügt und konnte ich die Website-Inhalte abzurufen, wird der Code ich verwendet habe, ist:

Document document = Jsoup.connect(URL) 
          .userAgent("Mozilla") 
          .header("Accept", "text/html") 
          .header("Accept-Encoding", "gzip,deflate") 
          .header("Accept-Language", "it-IT,en;q=0.8,en-US;q=0.6,de;q=0.4,it;q=0.2,es;q=0.2") 
          .header("Connection", "keep-alive") 
          .ignoreContentType(true) 
          .get(); 
+0

Vielen Dank! Du hast meine Zeit gerettet! – JohnA

+1

@JohnA Kein Problem! Froh, dass es funktioniert hat :) – Signo

1

Es ist kein Problem mit Android.

Versuchen Sie, auf die URL in Ihrem Browser zuzugreifen, es wird auch nicht funktionieren.

Vergewissern Sie sich, dass es sich um die richtige URL handelt, auf die Sie zugreifen möchten.

+0

Leider war es mein schlecht in Frage. Korrekte URL: http://www.openaip.net/airports?apttype_type_filter=All&country_filter=All&name_filter=EHAM, aber ich habe immer noch das gleiche Problem. – JohnA

Verwandte Themen