我使用以下代码
$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);这总是导致,为什么这个会死!或页面会持续加载一段时间,然后如果我不使用或DIE(‘为什么会死!’)就不会显示任何内容。
如果我将CURLOPT_NOBODY设置为false
我得到了
HTTP/1.1 200确定日期:清华,2011年6月9日01:35:07 GMT Pragma:公开过期:0缓存-控制:必须-重新验证,后检查=0,预检查=0,private=false内容-类型:应用程序/强制-下载内容-传输-编码:二进制保持活动: 1000内容-配置:附件;filename*= UTF-8‘Ever17.part3.rar接受-范围:字节内容-长度: 520000000服务器: Jetty(6.1.16) Rar!zs sdt�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��jմg�)�L��#&��;��5M�s}���(�Đ$�yGwӏ$�E����$�Z���:�/�����r͐�8�&������#Q�00��>�)�n�̌}o�H����2Z���y�S㞝�H��=�9�[������E�nЭ��\�9Ǘ!{&y�j/���Ȇg������FW��~G�5������F-&����ƭ��9<���^7����(�HY(a����%�ɚQYL_���ܽ�X|��&
为什么我没有将CURLOPT_NOBODY设置为真输出?
我在Apache/2.2.3上使用PHP 5.1.6,并安装了curl-7.15.5-9.el5_6.2.i 386
发布于 2011-06-09 16:44:39
(这是一个严重过时的卷发版本)
尝试使用命令行版本(最好是来自运行PHP的同一台主机),比如“curl -I URL”,并确保网站能够很好地响应HEAD请求。
为完整的调试/跟踪输出添加-v或-。
https://stackoverflow.com/questions/6287373
复制相似问题