1

imdbapi.com で入手できる (非公式の) API を使用して、映画を比較するのに役立つ小さなユーティリティを作成しました。

この API は、自分のページに表示する予定の映画ポスターのパスも返します。私が直面している問題は、要素が正しいパスで正しく作成されていても、画像の代わりにオンラインでサイトをデプロイすると、空白のプレースホルダーが表示されることです。

ローカルホストでのテスト中に画像が読み込まれますが、オンラインでは機能しません。

もう 1 つの奇妙な点は、既にローカルで映画を検索したために画像がキャッシュされている場合、オンラインで同じ映画を検索しているときに表示されることですが、新しいポスターが読み込まれないことです。

ソースコードとすべては、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;
}
4

1 に答える 1

3

firebug を使用してトレースされ、imdb が HTTP_REFERRER に基づいて画像へのアクセスを制限しているように見えます。以下の応答:

<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>
于 2011-01-31T05:40:50.933 に答える