2017-04-07 5 views
0

私は重複していると思われるものを手助けしようとしていましたが、簡単な質問ですが、少し複雑になってしまいました。明確な答え。 Hereが元の質問です。HTTPエラー403を受け取った場合、JavaFxのURLから画像をロードする方法

httpsプロトコルを使用しているサイトでさまざまなイメージのコードを試しましたが、何も機能しませんでした。私はいくつかの画像を撮って、httpプロトコルを使用するサイトに追加して作業しました。

画像をホストしているサイトがhttpsプロトコルを使用している場合、ImageViewで画像をどのように読み込むのですか?

+0

私はそれがhttpsの問題ではないと思います。 java.net.URLConnectionを使用してhttps://cdn.discordapp.com/attachments/250163910454280192/296377451599364107/Untitled.pngをダウンロードすると、HTTP 403 Forbidden応答が返されます。 HTTPリクエストで 'User-Agent'ヘッダーを設定することで問題は解決します。 – VGR

+0

ありがとう!私はちょうどHTTP ERRORを研究します403. – Sedrick

答えて

3

httpsの問題ではありません。 cdn.discordapp.comでは、HTTPリクエストにUser-Agentヘッダーが必要です。さらに、サイトはUser-Agentの特定のフォーマットのみを受け入れるように見えます。それは受け入れられwgetから供給されるのUser-Agentが判明:リクエストのUser-Agentヘッダなし

Image createImage(String url) 
throws IOException { 
    URLConnection conn = new URL(url).openConnection(); 
    conn.setRequestProperty("User-Agent", "Wget/1.13.4 (linux-gnu)"); 

    try (InputStream stream = conn.getInputStream()) { 
     return new Image(stream); 
    } 
} 

は、サイトがHTTP 403禁止応答を与えます。

+0

会議について。私は私の机に戻ったときにそれをテストするつもりです。\ – Sedrick

関連する問題