Php 返回文本/html而不是图像/jpeg的图像上的卷曲

Php 返回文本/html而不是图像/jpeg的图像上的卷曲,php,curl,Php,Curl,我创建了一个脚本,使用CURL从URL加载图像。为了测试文件是否是JPG,我使用($info['content\u type']=='image/jpeg')。 它适用于大多数URL,但有些URL返回html类型:例如 有人能告诉我为什么这个URL是html吗 谢谢这是因为您没有在请求头中设置用户代理,而此主机拒绝具有特定用户代理的请求 有关如何设置用户代理,请参见中的CURLOPT_USERAGENT: curl_setopt($c, CURLOPT_USERAGENT, 'Mozilla')

我创建了一个脚本,使用CURL从URL加载图像。为了测试文件是否是JPG,我使用($info['content\u type']=='image/jpeg')。 它适用于大多数URL,但有些URL返回html类型:例如 有人能告诉我为什么这个URL是html吗


谢谢

这是因为您没有在请求头中设置用户代理,而此主机拒绝具有特定用户代理的请求

有关如何设置用户代理,请参见中的
CURLOPT_USERAGENT

curl_setopt($c, CURLOPT_USERAGENT, 'Mozilla');

唯一可以肯定地告诉您的是
super-fond.fr
的所有者,因为这是一个服务器配置问题。我怀疑浏览器也会查看扩展名来确定文件类型,这就是为什么他们可以看到它…发布CURL步骤的源代码HTML的内容是什么?它可能只是说图像上不允许热链接。我不知道为什么,但是如果你收到文本/html,你可以使用
imagecreatefromstring($string)
来检查它是否是图像。实际上,看着特定的图像,它似乎发送了正确的内容类型,所以我不确定……这应该解决它。通过命令行上的CURL检查,
-Mozilla提供200 OK而不是403禁止。