0

画像の URL はhttp://phim.xixam.com/thumb/giotdang.jpegです。

私のコードは次のとおりです。

$img = 'http://phim.xixam.com/thumb/giotdang.jpeg';
file_puts_content('abc.jpg', file_get_contents($img));

しかし、私は警告を受け取ります:

file_get_contents( http://phim.xixam.com/thumb/giotdang.jpeg ) [function.file-get-contents]: ストリームを開くことができませんでした: HTTP 要求が失敗しました! HTTP/1.0 403 禁止 ...

この画像をcURLで保存しようとしましたが、うまくいきません。

4

1 に答える 1

0

phpコードは技術的には正しいようですが、何らかの理由でブロックされているようです。同じマシンのブラウザから試してみて、それが機能すると仮定すると、UserAgent文字列フィルタリングを推測します。cURLで有効なユーザーエージェント文字列を使用してみてください。

http://curl.haxx.se/docs/manpage.htmlから:

-A、-user-agent

(HTTP)HTTPサーバーに送信するUser-Agent文字列を指定します。このフィールドが「Mozilla/4.0」に設定されていない場合、一部の不適切なCGIは失敗します。文字列内の空白をエンコードするには、文字列を一重引用符で囲みます。もちろん、これは-H、-headerオプションを使用して設定することもできます。

このオプションが複数回設定されている場合は、最後のオプションが使用されます。

于 2012-06-05T01:29:50.510 に答える