在 PHP 中可以我们通过 Curl 来获取远程网站的数据,同时可以获取到 HTTP Response 的 headers 和 body,它们会一同作为结果返回,这时需要我们自己来分离它们。
我们可以通过 Curl 自带的 curl_getinfo()
方法获取头的长度,然后使用 substr
来分割字符串:
代码语言:javascript
复制
$url = "http://blog.wpjam.com"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, TRUE); //表示需要response header curl_setopt($ch, CURLOPT_NOBODY, FALSE); //表示需要response body curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
response = curl_exec(ch);
if (curl_getinfo($ch, CURLINFO_HTTP_CODE) == '200') {
header_size = curl_getinfo(ch, CURLINFO_HEADER_SIZE);
headers = substr(response, 0, $header_size);
body = substr(response, $header_size);
}