2017-11-14 12 views
1

サイトからデータを取得しようとしています。 私はのIntelliJ IDEAにこのコードを使用すると、すべてが正常に動作しますが、私は、Android Studioと実際のデバイスでは、このコードを使用する場合、私が取得:ここAndroid。 HTTPエラーがURLを取得しています。ステータス= 403

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

は私のコードです:

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(); 

すべての情報私が見つけたのは "userAgent()"メソッドだけですが、それは助けになりませんでした。

UPD:申し訳ありませんが、それは私の悪い質問でした。正しいURL:http://www.openaip.net/airports?apttype_type_filter=All&country_filter=All&name_filter=EHAM、しかし私はまだ同じ問題があります。

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

答えて

2

私がリクエストで欠落しているheaderを追加しましたし、私はウェブサイトのコンテンツを取得することができた、私が使用したコードは次のとおりです。

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

ありがとうございました!あなたは私の時間を救った! – JohnA

+1

@JohnA問題ありません!それがうまくいった:) – Signo

1

Androidでは問題ありません。

ブラウザのURLにアクセスしても問題はありません。

アクセスしようとしているURLが正しいことを確認してください。

+0

申し訳ありませんが、それは問題の私の悪いでした。正しいURL:http://www.openaip.net/airports?apttype_type_filter=All&country_filter=All&name_filter=EHAMしかし、私はまだ同じ問題があります。 – JohnA

関連する問題