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