有时只显示远程图像

时间:2010-07-01 01:26:49

标签: html perl apache image imdb

我维护一个本地Intranet网站,其中包括显示来自IMDB.com的电影海报图片。直到最近,我只需要一个perl脚本下载我需要的图像并将它们保存到本地服务器。但这成了一个巨大的太空猪,所以我想我可以简单地将我的网站直接指向IMDB服务器,因为我的流量非常小。

结果是会显示一些图像,而其他图像则不显示。显示的图像有时会在刷新几次后消失。图像存在于IMDB服务器上,它们不会显示在我的页面上。

我似乎不太可能IMDB会以某种方式阻止这种访问,但这可能吗?我的目的是否需要配置?

我没有想法 - 这对我来说没有意义。

我正在使用mod_perl和HTML :: Mason服务我的页面,如果这是相关的。

谢谢, 莱恩

Apache / 2.2.14(Unix)mod_ssl / 2.2.14 OpenSSL / 0.9.8l DAV / 2 mod_perl / 2.0.4 Perl / v5.10.0

3 个答案:

答案 0 :(得分:6)

绝对会阻止这种访问。您正在为您的网站使用他们必须支付的带宽。网站通常会查看referrer,看到它不是来自他们的网站,阻止或限制访问。你可能认为这是一个间歇性的问题,因为IMDB允许你对它们的图像进行一些使用。

要了解更多信息,请查看客户端上的HTTP日志。使用a browser pluginscripting it。查看HTTP响应代码,您可能会看到一些4xx或5xx响应。

我建议将图像缓存在缓存中,使未使用的图像到期,这将平衡访问空间,或者获得付费的IMDB帐户。您可以获得一个API密钥来获取指示您是付费客户的图像。

答案 1 :(得分:1)

IMDB确实可以通过检查“referer”来防止“带宽被盗”。更多信息:http://www.thesitewizard.com/archive/bandwidththeft.shtml

为什么会断断续续?也许他们只在他们的Web场中的一些服务器上实现这一点。

答案 2 :(得分:0)

只是为了添加现有答案,您正在做的事情被称为“热链接”,并且运行网站的人不太喜欢它。谷歌“热链接阻止”。