我正在使用以下代码
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $real_url);
curl_setopt($ch, CURLOPT_COOKIE, $cookie);
curl_setopt($ch, CURLOPT_NOBODY, true);
curl_setopt($ch, CURLOPT_COOKIEFILE, $fscookiefile);
curl_setopt($ch, CURLOPT_COOKIEJAR, $fscookiefile);
curl_setopt($ch, CURLOPT_HEADER, TRUE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, FALSE);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.13) Gecko/20101206 Ubuntu/10.04 (lucid) Firefox/3.6.13 GTB7.1');
$r = curl_exec($ch) or die('WHY DOES THIS DIE!!!');
curl_close($ch);
这总是会导致为什么这么死!!! 或者页面会继续加载一段时间然后如果我不使用则不会显示任何内容 或死('为什么这个死!!!')
如果我将CURLOPT_NOBODY设置为false
我得到了
HTTP / 1.1 200 OK日期:星期四,09六月2011 01:35:07 GMT Pragma:public Expires:0 Cache-Control:must-revalidate,post-check = 0,pre-check = 0,private = false Content-Type:application / force-download Content-Transfer-Encoding:binary Keep-Alive:1000 Content-Disposition:attachment; filename * = UTF-8''Ever17.part3.rar Accept-Ranges:bytes Content-Length:520000000 Server:Jetty(6.1.16)Rar!zsdt NP ( &R %G 65, Ever17\ Ever_17 _-_The_Out_of_Infinity_CD3.iso “j M K U: > b 2Q sT?G +iM qN ' & - d z }xi < 3\ d �Z:|�/���@�gl��$��~@��u�וۊ \�
jմg ) L #& ; 5M s} ( Đ $yGwӏ$ E $ Z:/ R8&安培;#Q00&GT)N } oH2ZyS㞝H = 9 [EnЭ\9Ǘ{&安培;!YJ / Ȇg FW〜G5F-&安培;ƭ9< ^ 7 (HY(一%ɚQYL_ܽX |&安培;
为什么我没有将CURLOPT_NOBODY设置为true得到任何输出????
我在Apache / 2.2.3上使用PHP 5.1.6并安装了curl-7.15.5-9.el5_6.2.i386
答案 0 :(得分:1)
(这是一个严重过时的卷曲版本)
尝试使用命令行版本(最好是运行该PHP脚本的同一主机),例如'curl -I [URL]',并确保网站真正响应HEAD请求。
为完整的调试/跟踪输出添加-v或--trace-ascii。