Php 为什么curlExec()的访问权限小于浏览器?

Php 为什么curlExec()的访问权限小于浏览器?,php,file,curl,download,Php,File,Curl,Download,我有一个下载favicon文件的应用程序。最近我从使用file\u get\u contents切换到curlExec,因为它的成功率更高 然而,当我尝试从www.prisonexp.org下载时,他们没有发送实际的文件数据,而是发送文本禁止。通常,我会在测试脚本的这个字段中看到一堆二进制数据转换为ASCII 我觉得这很奇怪,因为我可以在浏览器中浏览文件并手动下载 这有效吗?还是我遗漏了什么?他们如何以一种方式而不是另一种方式阻止下载。要查看正在运行的测试脚本,请转到此处 另一方面,我如何检测

我有一个下载favicon文件的应用程序。最近我从使用
file\u get\u contents
切换到
curlExec
,因为它的成功率更高

然而,当我尝试从www.prisonexp.org下载时,他们没有发送实际的文件数据,而是发送文本
禁止。
通常,我会在测试脚本的这个字段中看到一堆二进制数据转换为ASCII

我觉得这很奇怪,因为我可以在浏览器中浏览文件并手动下载

这有效吗?还是我遗漏了什么?他们如何以一种方式而不是另一种方式阻止下载。要查看正在运行的测试脚本,请转到此处

另一方面,我如何检测服务器何时以文本形式发送消息而不是发送二进制数据?我可以检查一下“禁止”,但我不确定这是否是一个标准的回答

研究/更新


可以通过编程方式完成的事情必须加以限制,否则服务器可能会不知所措

读取用户代理是完成此操作的一种方法


Wget可能有更多的访问权限,因为它通常用作命令行工具。类似地,您将可以直接访问交付给客户端的图像。

可以通过编程方式完成的事情必须限制,否则服务器可能会变得不堪重负

读取用户代理是完成此操作的一种方法


Wget可能有更多的访问权限,因为它通常用作命令行工具。同样,您可以直接访问交付给客户端的图像。

他们可能会检查
用户代理
标题,并将一组已知的用户代理(如wget和curl)列入黑名单。我可以使用
wgethttp://www.prisonexp.org/favicon.ico
以成功下载文件,因此错误可能存在于代码中。请发布您的实际代码,以便我们查看。我已经成功运行了数百次此脚本,我发现这是第一个这样做的站点/域。奇怪的做法。顺便说一句,并不是每个网站都使用
favicon.ico
作为他们的favicon!favicon可以在页面上手动指定,因此,如果要达到100%的准确率,可能还需要解析实际的HTML!有谁能解释一下为什么一种方式比另一种方式有更多的访问权限,我的意思是为什么建筑师做出了这样的决定?我将使用
wget
并以编程方式获取任何信息。他们可能会检查
User Agent
标题并将一组已知的用户代理(如wget和curl)列入黑名单。我能够使用
wgethttp://www.prisonexp.org/favicon.ico
以成功下载文件,因此错误可能存在于代码中。请发布您的实际代码,以便我们查看。我已经成功运行了数百次此脚本,我发现这是第一个这样做的站点/域。奇怪的做法。顺便说一句,并不是每个网站都使用
favicon.ico
作为他们的favicon!favicon可以在页面上手动指定,因此,如果要达到100%的准确率,可能还需要解析实际的HTML!有谁能解释一下为什么一种方式比另一种方式有更多的访问权限,我的意思是为什么建筑师做出了这样的决定?我将使用
wget
并以编程方式获取任何信息。