okey我做了一个脚本检查文件是否存在,但我从Curl得到的标题是坏的
$curl = curl_init( $url );
curl_setopt( $curl, CURLOPT_NOBODY, true );
curl_setopt( $curl, CURLOPT_HEADER, true );
curl_setopt( $curl, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $curl, CURLOPT_FOLLOWLOCATION, true );
curl_setopt( $curl, CURLOPT_FRESH_CONNECT, true);
$data = curl_exec( $curl );
var_dump($data);
它让我得到200响应,而@file_headers()得到我布尔值假,这是正确的文件不能下载(连接由同行重置)
我使用file_headers但是它比mul慢(检查大约10k文件)
任何想法如何修复curl以强制它在文件存在时正确显示它?
FYI curl_getinfo($ curl,CURLINFO_HTTP_CODE); 也显示200
*我的意思是如果文件被对等文件重置,因为cURL检测文件是否完美存在(发出Head请求),而get_headers()默认使用get请求,是否有办法强制cURL make get request?< /强>
添加curl_setopt($ curl,CURLOPT_HTTPGET,true)后; 当我记录curl时,我看到:*来自服务器的空回复,同时得到&#34;由同行重置&#34;文件,但这是下载我的整个文件
好吧我想我已经解决了添加curl_setopt($ curl,CURLOPT_RANGE,&#34; 1-1&#34;)的问题;并且下载1个字节而不是获取标头,如果为false,则文件不存在或由对等方重置
答案 0 :(得分:0)
重置发生在de http状态之后,所以是的,200状态是可能的。
错误似乎是禁止或缓慢处理下载。
这样做:
请参阅以下示例:PHP cURL how to add the User Agent value OR overcome the Servers blocking cURL requests?