使用JQuery加载IMDB海报无法正常工作

时间:2011-01-31 05:34:56

标签: javascript jquery imdb

我写了一个小实用程序,可以使用imdbapi.com上提供的(非官方)API来比较电影

api甚至返回我打算在我的页面上显示的电影海报的路径。 我遇到的问题是,即使元素与正确的路径一起正确创建,当我在线部署网站代替图像时,我得到一个空白的占位符。

在localhost上测试时图像会加载 - 但不能在线工作。

另一个奇怪的部分是,如果我已经在本地搜索了一部电影并因此缓存了图像,那么在网上搜索相同的电影时会出现这种情况 - 但是新的海报不会加载。

源代码和所有内容都在线:http://compovie.com

它完全在JS中 - 没有使用服务器端脚本。

这真的让我疯了,任何帮助都会受到赞赏。 我已经测试了这个,并且在FF 3.6,IE8和Chrome中重复了行为。

感谢。

- 编辑2010年2月19日 -

我用来使其工作的PHP脚本片段是:

header('Content-Type: image/jpeg');
if(isset($_GET["imgUrl"])) {
    $img = file_get_contents($_GET["imgUrl"]);
        echo $img;
}

1 个答案:

答案 0 :(得分:3)

使用firebug进行跟踪,看起来像imdb限制了对基于HTTP_REFERER的图像的访问。 回复如下:

<HTML><HEAD>
<TITLE>Referral Denied</TITLE>
</HEAD><BODY>
<H1>Referral Denied</H1>
You don't have permission to access "http&#58;&#47;&#47;ia&#46;media&#45;imdb&#46;com&#47;images&#47;M&#47;MV5BMjA3NDI4ODUwMF5BMl5BanBnXkFtZTcwOTgxOTkyMQ&#64;&#64;&#46;&#95;V1&#46;&#95;SX320&#46;jpg" on this server.<P>
Reference&#32;&#35;24&#46;362e0660&#46;1296452290&#46;2e4450a
</BODY></HTML>