PHP Curl 中如何分离 headers 和 body 信息

在 PHP 中可以我们通过 Curl 来获取远程网站的数据,同时可以获取到 HTTP Response 的 headers 和 body,它们会一同作为结果返回,这时需要我们自己来分离它们。

我们可以通过 Curl 自带的 curl_getinfo() 方法获取头的长度,然后使用 substr 来分割字符串:

<br />
$url	= "http://blog.wpjam.com";<br />
$ch		= curl_init();<br />
curl_setopt($ch, CURLOPT_URL, $url);<br />
curl_setopt($ch, CURLOPT_HEADER, TRUE);	//表示需要response header<br />
curl_setopt($ch, CURLOPT_NOBODY, FALSE);	//表示需要response body<br />
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);</p>
<p>$response = curl_exec($ch);</p>
<p>if (curl_getinfo($ch, CURLINFO_HTTP_CODE) == '200') {<br />
	$header_size	= curl_getinfo($ch, CURLINFO_HEADER_SIZE);<br />
	$headers		= substr($response, 0, $header_size);<br />
	$body		= substr($response, $header_size);<br />
}<br />

热门文章