Maj*_*ssi 4 java url http http-status-code-403 javax.imageio
我有以下代码:
public BufferedImage urlToImage(String imageUrl) throws MalformedURLException, IOException {
URL url = new URL(imageUrl);
BufferedImage image = ImageIO.read(url);
return image;
}
Run Code Online (Sandbox Code Playgroud)
这应该是从给定的URL返回一个图像.
我测试了这两个随机选择的URL:
第一个工作正常,但第二个给出403错误:
Caused by: java.io.IOException: Server returned HTTP response code: 403 for URL: http://www.earthtimes.org/newsimage/osteoderms-storing-minerals-helped-huge-dinosaurs-survive_3011.jpg
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1436)
at java.net.URL.openStream(URL.java:1010)
at javax.imageio.ImageIO.read(ImageIO.java:1367)
Run Code Online (Sandbox Code Playgroud)
可能是错误的原因是什么?谢谢.
Per*_*ion 15
该ImageIO.read(URL)
方法打开一个URL连接,其中包含几乎所有默认设置,包括User-Agent
属性(将设置为您运行的JVM版本).显然,您列出的网站需要更"标准"的UA.使用直接telnet连接进行测试:
请求发送者ImageIO.read(url)
:
GET /newsimage/osteoderms-storing-minerals-helped-huge-dinosaurs-survive_3011.jpg HTTP/1.1
User-Agent:Java/1.7.0_17
主持人:www.earthtimes.org
接受:text/html,image/gif,image/jpeg,*; q = .2,/ ; q = .2
连接:保持活着
响应代码为404(至少对我而言),text/html
返回默认页面.
"标准"浏览器发送的请求:
GET /newsimage/osteoderms-storing-minerals-helped-huge-dinosaurs-survive_3011.jpg HTTP/1.1
User-Agent:Mozilla/5.0(Macintosh; Intel Mac OS X 10_7_5)AppleWebKit/537.31(KHTML,与Gecko一样)Chrome/26.0 .1410.65 Safari/537.31
主持人:www.earthtimes.org
接受:text/html,image/gif,image/jpeg,*; q = .2,/ ; q = .2
连接:保持活着
响应代码为200,带有图像数据.
以下简单修复程序会延长您的代码,但通过设置更"标准"的UA来解决问题:
final String urlStr = "http://www.earthtimes.org/newsimage/osteoderms-storing-minerals-helped-huge-dinosaurs-survive_3011.jpg";
final URL url = new URL(urlStr);
final HttpURLConnection connection = (HttpURLConnection) url
.openConnection();
connection.setRequestProperty(
"User-Agent",
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.65 Safari/537.31");
final BufferedImage image = ImageIO.read(connection.getInputStream());
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3437 次 |
最近记录: |