今天在抓取图片的时候, 需要同时获取到图片的 Content-type 和Content-Length 两个头信息的内容,而且也要保存图片本身的内容,
简单的方法 是获取两遍第一次获取头信息 opt 里面获取的body 参数设置成0, 然后在把header 参数设置成0,在单独获取一边body内容.
一次性获取的时候,
我在
curl_setopt($sh, CURLOPT_HEADER, 1) 设置了获取头信息, body 参数不用设置即可.
然后判断返回结果 如果是200 的在处理头信息,
有两种方法可以获取到, 一个是用空格, 应为头信息和报文体是由两个空行分隔的,
if ( curl_getinfo($sh, CURINFO_HTTP_CODEl)==200)
{
list($header, $body) = explode("\r\n\r\n", $retData,2);
}
另外一种是获取头部信息大小,然后截取
if ( curl_getinfo($sh, CURINFO_HTTP_CODEl)==200)
{
$hSize = curl_getinfo($sh, CURLINFO_HEADER_SIZE);
$body = substr($retData, $hSize);
$header = substr($retData,0, $hSize);
}
完.