我创建了一个脚本来使用CURL从URL加载图像。为了测试该文件是JPG,我使用($ info ['content_type'] =='image/jpeg')。 它适用于大多数网址,但有些会返回html类型:例如http://www.super-fond.fr/IMAGES_VOITURES/lexus/2005-Lexus-LF-A-Concept-R-1280x960.jpg 有谁能告诉我为什么这个网址是html吗?在返回文本/ html而不是图像/ jpeg的图像上卷曲
感谢
我创建了一个脚本来使用CURL从URL加载图像。为了测试该文件是JPG,我使用($ info ['content_type'] =='image/jpeg')。 它适用于大多数网址,但有些会返回html类型:例如http://www.super-fond.fr/IMAGES_VOITURES/lexus/2005-Lexus-LF-A-Concept-R-1280x960.jpg 有谁能告诉我为什么这个网址是html吗?在返回文本/ html而不是图像/ jpeg的图像上卷曲
感谢
那是因为你没有设置在请求头用户代理和该主机将拒绝与特定的用户代理请求。
见CURLOPT_USERAGENT
在curl_setopt()
关于如何设置用户代理:
curl_setopt($c, CURLOPT_USERAGENT, 'Mozilla');
这应该解决它。在命令行上用CURL检查,'-A Mozilla'服务200 OK,而不是403 Forbidden。 – hakre
好吧,它现在正常工作:) 谢谢 –
谁可以告诉你,唯一确定的是人的'超fond.fr'主人,因为这是一个服务器配置问题。我怀疑浏览器也查看扩展以及确定文件类型,这就是为什么他们可以看到它... –
张贴您的CURL步骤的源代码 – emaillenin
HTML的内容是什么?它可能只是说图像上不允许热链接。 –