如果收到HTTP错误403 如何从JavaFx中的URL加载图像

我试图用我认为重复的问题和一个简单的问题帮助某人,但事实certificate它稍微复杂一些,我无法给出明确的答案。 这是原始问题。

我使用https协议在网站上尝试使用不同图像的代码,但都没有。 然后,我拍了一些图像,并将它们添加到使用http协议的网站,他们工作了。

那么,问题是如果托管图像的站点使用https协议,如何在ImageView中加载图像?

这不是https问题。 似乎cdn.discordapp.com在HTTP请求中需要User-Agent标头。 此外,该网站似乎只接受User-Agent的某些格式。 事实certificate, wget提供的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); } } 

如果请求中没有User-Agent标头,则站点会提供HTTP 403 Forbidden响应。