我需要使用PHP下载一个XML文件。当我通过curl调用该文件,并设置以下选项时,我可以读取文件内容。
curl_setopt ($http, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt ($http, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($http,CURLOPT_USERAGENT,'XYZ');
如上代码片段所示,我需要将VERIFYHOST设置为false,并在调用读取文件时设置一个显式的USERAGENT,因为该文件不是公共可访问的,只有特定的应用程序才能调用它进行读取(Web安全技术之类的)。
但是我该如何下载同一文件呢?我尝试了readfile、fopen/fpassthru和file_get_contents,但似乎都无法正常工作。Readfile会出现错误“failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden”。
是否可以在fopen或readfile中提供curl类似的选项,我认为这可能是最简单的解决方法。我在PHP文档中找不到太多帮助,请帮忙解答。
Content-disposition
和Content-type
头部信息。 - Harshdeep