php技术博客

记录php相关学习知识及开发示例、疑难问题等

[原创] 如何在php中获取curl请求的请求头信息及响应头信息

获取请求头信息,可以在curl_exec函数执行前,添加代码

curl_setopt($ch,CURLINFO_HEADER_OUT,true);

然后在curl_exec函数执行后,通过 curl_getinfo($ch,CURLINFO_HEADER_OUT) 来获取curl执行请求的请求数据。


获取响应头信息,可以在curl_exec函数执行前,添加代码 

curl_setopt($ch, CURLOPT_HEADER, true);curl_setopt($ch, CURLOPT_NOBODY,false); 

之后 通过curl_exec函数来获取响应头信息。对curl_exec获取的值通过\r\n\r\n进行分割截取第一部分即为响应头信息。


下面给出一个具体的例子:

$url='http://www.phper163.com/';
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_TIMEOUT,5);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLINFO_HEADER_OUT,true);
curl_setopt($ch,CURLOPT_HEADER,true);
curl_setopt($ch,CURLOPT_NOBODY,false);
$content=curl_exec($ch);
$headerStr=curl_getinfo($ch,CURLINFO_HEADER_OUT);
list($responseStr,$contentStr)=explode("\r\n\r\n",$content,2);
echo "request header:".$headerStr; echo '<br>';
echo 'response header:'.$responseStr; echo '<br>';
echo 'response content:'.$contentStr;


版权声明:本站原创文章,转载请注明出处:php技术博客,否则将追究法律责任