替代file_get_contents和curl来获取远程图像

时间:2014-08-22 11:27:09

标签: php curl file-get-contents

我有一个音乐数据库PHP脚本,可以通过file_get_contents自动从远程服务器获取专辑封面。一段时间以来,它不再起作用了。我尝试使用curlGd Library做同样的事情,但同样的问题,它会返回"403 - forbidden"。我想这是远程服务器中的任何类型的热链接保护,我可以在浏览器中打开远程图像URL,但我无法将其抓到我的服务器。

是否可以选择绕过此问题并抓取远程图像?

2 个答案:

答案 0 :(得分:1)

要欺骗CURL请求中的user-agent和其他引用,您可以使用以下代码:

curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');

这可能会绕过热链接保护,绕过我自己的保护; - )

答案 1 :(得分:0)

您可以使用ajax确定所需的图像并将其直接加载到浏览器。 它不会违反热链接。并且应该工作正常。