15

我想从其他受热链接保护的网站下载图像。我不想将这些图像链接到我的网站。我只是想下载它们。

4

4 回答 4

17

通常的防盗链方法会检查“Referrer”HTTP Header是否与原始网站的域名匹配。

您可以通过手动设置该标题以指向网站中的页面来轻松绕过它。

于 2010-01-06T05:21:24.153 回答
10

您需要传递引荐来源网址 http 标头。您可以在大多数 unix 系统上使用 wget 执行此操作,如下所示:

wget --referer=http://www.google.com/ http://www.google.com/intl/en_ALL/images/logo.gif

这是一种原始的方法,因此您可以确切地看到发生了什么:

telnet google.com 80
GET /intl/en_ALL/images/logo.gif HTTP/1.1
REFERER: http://www.google.com/
HOST: www.google.com
于 2010-01-06T05:36:22.963 回答
5

您可以使用以下代码下载受热链接保护的图像:

URL url = new URL("http://www.somesite.com/picture.jpg");

URLConnection urlCon = url.openConnection();
urlConn.setRequestProperty("Referer", "http://www.somesite.com");
urlConn.connect();

InputStream urlStream = urlCon.getInputStream();

Image image = ImageIO.read(urlStream);
于 2012-06-07T14:24:59.067 回答
0

Chrome 的 Postman 扩展允许您发出自定义 http 请求。我找到了一个热链接阻止的图像,复制了它的 url 并将其输入 Postman 以获取它。

于 2012-12-12T22:38:42.723 回答