我想下载一个受热链接保护的图像。如何使用 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
,或curl --referer
但不确定正确的语法。
编辑 2:
我收到一条错误消息,说 curl_setopt() 期望参数 2 很长。删除静音选项后,错误消失了。
为了显示图像,我尝试了此代码,但页面仍然空白。
$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