首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当我使用curl时,CURLOPT_NOBODY会影响响应头

当我使用curl时,CURLOPT_NOBODY会影响响应头
EN

Stack Overflow用户
提问于 2012-12-02 00:19:50
回答 2查看 6.3K关注 0票数 2

我的问题代码

代码语言:javascript
复制
<?php
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'http://www.tudou.com/programs/view/qyT7G6gVFSs');
curl_setopt($curl, CURLOPT_HEADER, 1);
curl_setopt($curl , CURLOPT_NOBODY, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($curl);
curl_close($curl);
var_dump($data);

回应是

字符串(241) "HTTP/1.1 405方法不允许服务器: Tengine/1.4.0日期: Sat,01 Dec 2012 15:53:32 GMT Content-Type: text/html;charset=GBK Content-Length: 1085连接:关闭appSrv: itemview-app4-app_admin Vary: Accept-Encoding Allow: GET“

那么我的正确代码是

代码语言:javascript
复制
<?php
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'http://www.tudou.com/programs/view/qyT7G6gVFSs');
curl_setopt($curl, CURLOPT_HEADER, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($curl);
curl_close($curl);
var_dump($data);

结果是字符串(313)“HTTP/1.1302临时移动服务器: Tengine/1.4.0日期: Sat,01 Dec 2012 16:17:25GMT Content-Length: 0 Connection: close appSrv: itemview-app5-app_admin Vary: Accept-Encoding Pragma: No- Cache -Control: no-cache,no-store Expires:清华,1970年1月1日00:00:00GMT位置:http://tv.tudou.com/

是的,这只是CURLOPT_NOBODY,谁能告诉我为什么?请!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-02 00:26:27

当您指定一个CURLOPT_NOBODY时,它实际上执行一个不同类型的请求Does CURLOPT_NOBODY still download the body - using bandwidth它看起来像是您所针对的服务器不支持这种类型的请求。

票数 1
EN

Stack Overflow用户

发布于 2012-12-02 00:28:35

试着这样做:

代码语言:javascript
复制
            //cURL set options
            //cURL options array set
            $options = array(
                CURLOPT_URL => $this->URL,              #set URL address
                CURLOPT_USERAGENT => $this->UserAgent,  #set UserAgent to get right content like a browser
                CURLOPT_RETURNTRANSFER => true,         #redirection result from output to string as curl_exec() result
                CURLOPT_COOKIEFILE => 'cookies.txt',    #set cookie to skip site ads
                CURLOPT_COOKIEJAR => 'cookiesjar.txt',  #set cookie to skip site ads
                CURLOPT_FOLLOWLOCATION => true,         #follow by header location
                CURLOPT_HEADER => true,                 #get header (not head) of site
                CURLOPT_FORBID_REUSE => true,           #close connection, connection is not pooled to reuse
                CURLOPT_FRESH_CONNECT => true,          #force the use of a new connection instead of a cached one
                CURLOPT_SSL_VERIFYPEER => false         #can get protected content SSL
            );
            //set array options to object $curl
            curl_setopt_array($curl, $options);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13661223

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档