我写了一个小实用程序,可以使用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;
}
答案 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://ia.media-imdb.com/images/M/MV5BMjA3NDI4ODUwMF5BMl5BanBnXkFtZTcwOTgxOTkyMQ@@._V1._SX320.jpg" on this server.<P>
Reference #24.362e0660.1296452290.2e4450a
</BODY></HTML>