ホットリンクで保護された画像をダウンロードしたいと考えています。リファラーが独自のサーバーから来ていることを示すために、CURL で HTTP ヘッダーを偽造するにはどうすればよいですか?
このコマンドを試してみましたが、失敗します。私は PHP に詳しくないので、助けていただければ幸いです。
curl -A "Mozilla/5.0" -L -b /tmp/c -c /tmp/c -s 'http://remote-site.com/image.jpg' > image.jpg
オプションはCURLOPT_REFERER
, curl_setopt
orcurl --referer
のようですが、正しい構文については不明です。
編集2:
curl_setopt() はパラメーター 2 が長いと想定しているというエラーが表示されました。MUTE オプションを削除すると、エラーはなくなりました。
画像を表示するために、このコードを試しましたが、ページは空白のままです。
$image = curl_exec($ch);
curl_close($ch);
fclose($fp);
print '<img src="'.$image.'"/>';
編集1:
Wordpress の投稿に入力したコード (プラグインInsert PHPを使用)
[insert_php]
curl --referer http://www.DOMAIN.com/ -A "Mozilla/5.0" -L -b /tmp -c /tmp -s 'http://www.DOMAIN.com/image.png' > image.png
[/insert_php]
ページを読み込んだときに発生したエラー:
Parse error: syntax error, unexpected ‘<‘ in /public_html/wp-content/plugins/insert-php/insert_php.php(48) : eval()’d code on line 8