如何在php中获取curl请求的请求头信息及相应头信息
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在php中获取curl请求的请求头信息及相应头信息相关的知识,希望对你有一定的参考价值。
oCurl = curl_init();// 设置请求头
$header[] = "Content-type: application/x-www-form-urlencoded";
$user_agent = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (Khtml, like Gecko) Chrome/33.0.1750.146 Safari/537.36";
curl_setopt($oCurl, CURLOPT_URL, $sUrl);
curl_setopt($oCurl, CURLOPT_HTTPHEADER,$header);
// 返回 response_header, 该选项非常重要,如果不为 true, 只会获得响应的正文
curl_setopt($oCurl, CURLOPT_HEADER, true);
// 是否不需要响应的正文,为了节省带宽及时间,在只需要响应头的情况下可以不要正文
curl_setopt($oCurl, CURLOPT_NOBODY, true);
// 使用上面定义的 ua
curl_setopt($oCurl, CURLOPT_USERAGENT,$user_agent);
curl_setopt($oCurl, CURLOPT_RETURNTRANSFER, 1 );
// 不用 POST 方式请求, 意思就是通过 GET 请求
curl_setopt($oCurl, CURLOPT_POST, false);
$sContent = curl_exec($oCurl);
// 获得响应结果里的:头大小
$headerSize = curl_getinfo($oCurl, CURLINFO_HEADER_SIZE);
// 根据头大小去获取头信息内容
$header = substr($sContent, 0, $headerSize);
curl_close($oCurl); 参考技术A <?php
$url = 'http://demo.zjmainstay.cn';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HEADER, true); //返回头信息
curl_setopt($ch, CURLOPT_NOBODY, true); //不返回内容
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //返回数据不直接输出
$content = curl_exec($ch); //执行并存储结果
curl_close($ch);
echo $content;
更多关于php cURL的内容,请参考http://www.zjmainstay.cn/php-curl本回答被提问者采纳 参考技术B
oCurl = curl_init();
// 设置请求头
$header[] = "Content-type: application/x-www-form-urlencoded";
$user_agent = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.146 Safari/537.36";
curl_setopt($oCurl, CURLOPT_URL, $sUrl);
curl_setopt($oCurl, CURLOPT_HTTPHEADER,$header);
// 返回 response_header, 该选项非常重要,如果不为 true, 只会获得响应的正文
curl_setopt($oCurl, CURLOPT_HEADER, true);
// 是否不需要响应的正文,为了节省带宽及时间,在只需要响应头的情况下可以不要正文
curl_setopt($oCurl, CURLOPT_NOBODY, true);
// 使用上面定义的 uacurl_setopt($oCurl, CURLOPT_USERAGENT,$user_agent);curl_setopt($oCurl, CURLOPT_RETURNTRANSFER, 1 );
// 不用 POST 方式请求, 意思就是通过 GET 请求
curl_setopt($oCurl, CURLOPT_POST, false); $sContent = curl_exec($oCurl);
// 获得响应结果里的:头大小
$headerSize = curl_getinfo($oCurl, CURLINFO_HEADER_SIZE);
// 根据头大小去获取头信息内容
$header = substr($sContent, 0, $headerSize);
curl_close($oCurl);
php curl如何设置自定义请求头和打印请求头信息
$header = [ ‘client:h5‘, ‘token:test‘, ]; curlRequest($url, $params, true, 10, $header);
PHP 5.1.3版以上支持用curl_getinfo函数来获取请求头
具体需要先设置 curl_setopt($ch, CURLINFO_HEADER_OUT, true);
然后在请求发生后用 curl_getinfo($ch, CURLINFO_HEADER_OUT);
function curlRequest($url, $params = array(), $is_post = false, $time_out = 10, $header=array()) { $str_cookie = isset($ext_params[‘str_cookie‘]) ? $ext_params[‘str_cookie‘] : ‘‘;$ch = curl_init();//初始化curl curl_setopt($ch, CURLOPT_URL, $url);//抓取指定网页 curl_setopt($ch, CURLOPT_HEADER, 0);//设置是否返回response header curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//要求结果为字符串且输出到屏幕上 //当需要通过curl_getinfo来获取发出请求的header信息时,该选项需要设置为true curl_setopt($ch, CURLINFO_HEADER_OUT, true); curl_setopt($ch, CURLOPT_TIMEOUT, $time_out); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time_out); curl_setopt($ch, CURLOPT_POST, $is_post); if ($is_post) { curl_setopt($ch, CURLOPT_POSTFIELDS, $params); } if ($str_cookie) { curl_setopt($ch, CURLOPT_COOKIE, $str_cookie); } if ($header) { curl_setopt($ch, CURLOPT_HTTPHEADER, $header); } $response = curl_exec($ch);
//打印请求的header信息 $request_header = curl_getinfo( $ch, CURLINFO_HEADER_OUT); print_r($request_header); curl_close($ch); return $response; }
以上是关于如何在php中获取curl请求的请求头信息及相应头信息的主要内容,如果未能解决你的问题,请参考以下文章