我正在尝试从网址下载图像。 我编写的流程适用于除我们正在处理的一家内容提供商之外的所有人。
当我通过 Firefox 访问他们的 JPG 时,一切看起来都很干净(顺便说一句,逾越节快乐)。然而,当我使用我的流程时,我要么:
A) 得到 404 或
B) 在调试器中,当我在 URL 行设置断点时 (URL url = new URL(str);) 然后在连接之后我确实得到了一个文件,但它不是 .jpg,而是他们使用通用链接和内容生成的一些 HTML。但我没有看到重定向代码!返回结果为 200。
这是我的代码...
URL url = new URL(urlString);
URLConnection uc = url.openConnection();
String val = uc.getHeaderField(0);
System.out.println("FOUND OBJECT OF TYPE:" + contType);
if(!val.contains("200")){
//problem
}
else{
is = uc.getInputStream();
}
有人见过这种性质的东西吗?我想这可能是某种 mime 类型的问题,但这只是一个猜测......我完全被难住了。
最佳答案
也许该网站只是使用某种保护措施来防止其他人盗链其图像或禁止大量下载。
他们通常检查 HTTP 引荐来源网址(必须来自他们自己的域)或用户代理(必须是浏览器,而不是下载管理器)。设置两者并重试。
关于java - java.net.URL 和 java.net.URLConnection 的奇怪问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/736290/