java - java.net.URL 和 java.net.URLConnection 的奇怪问题

标签 java url

我正在尝试从网址下载图像。 我编写的流程适用于除我们正在处理的一家内容提供商之外的所有人。

当我通过 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/

相关文章:

Java:如何使用数据进行 API 调用?

google-chrome - 如何在 Ubuntu 中向 firefox 和 chrome 添加新的 MIME/协议(protocol)处理程序?

php - 如何从数据库中的图像 ID 生成 url?

java - Jsoup 查找具有特定文本的元素

[myserver.mydomain.com] 不受信任的 Java 信任库根证书

javascript 避免重复的 URL

javascript - 如何使用 Javascript 获取站点上所有可用图片 URL 的列表?

asp.net - 在ASP.NET中,获取请求的基本URl的最快方法是什么?

java - jaxb 生成的 ObjectFactory 方法

java - 一个类的所有父类(super class)