【发布时间】:2012-07-16 19:01:21
【问题描述】:
我需要使用 PHP 下载一个 xml 文件。在进行 curl 调用时,我可以通过设置以下选项来读取文件的内容。
curl_setopt ($http, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt ($http, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($http,CURLOPT_USERAGENT,'XYZ');
从上面 sn-p 可以明显看出,我需要将 VERIFYHOST 设置为 false,并且还需要在调用读取文件时设置显式 USERAGENT,因为该文件不可公开访问,并且只有特定的应用程序可以调用读取它(网络安全技术和东西)
但是如何下载相同的文件,我尝试了readfile、fopen/fpassthru、file_get_contents,但似乎没有任何效果。
Readfile 给出错误failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden
有没有办法通过fopen 或readfile 提供类似curl 的选项,我认为这可能是解决这个问题的最简单方法。我在 PHP 文档中找不到太多帮助。
请帮忙。
【问题讨论】:
-
你是否提供了关于“你”的标题和内容?
-
@DavidBélanger 只是通常的
Content-disposition和Content-type标头。 -
您需要发送关于您的标头:UserAgent 和 IP 地址。
标签: php curl https download security