php curl 请求头、响应头

curl.jpg

<?php
// curl 获取请求头
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.baidu.com");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); // TRUE 将curl_exec()获取的信息以字符串返回,而不是直接输出
curl_setopt($ch, CURLINFO_HEADER_OUT, TRUE); // 设置 CURLINFO_HEADER_OUT 选项
$response = curl_exec($ch);
$curl_info = curl_getinfo($ch); // 通过curl_getinfo() 得到请求头的信息
curl_close($ch);
var_dump(['request_header' => $curl_info]);

// curl 获取响应头
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.baidu.com");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); // TRUE 将curl_exec()获取的信息以字符串返回,而不是直接输出
curl_setopt($ch, CURLOPT_HEADER, true); // 返回 response header 默认 false 只会获得响应的正文
curl_setopt($ch, CURLOPT_NOBODY, true); // 有时候为了节省带宽及时间,只需要响应头
$response = curl_exec($ch);
$header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE); // 获得响应头大小
$header = substr($response, 0, $header_size); // 根据头大小获取头信息
curl_close($ch);
var_dump(['response_header' => $header]);
发表新评论