PHP CURL 想要把 Header 和 Body 都印出來,方便 Debug 用,要怎麼做呢?
PHP CURL 印出 Header 和 Body
PHP CURL 想要抓取抓取 HEADER,需要多加這個參數:
- curl_setopt($ch, CURLOPT_HEADER, 1);
想要印出詳細訊息,可以在加上這個:
- curl_setopt($ch, CURLOPT_VERBOSE, true);
在此就只有想要把 HTTP Header 和 Body 的的內容抓出來,並且印出的範例:
<?php
function get_url($url)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
$response = curl_exec($ch);
$header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
curl_close($ch);
// 切出 Header 與 Body
$header = substr($response, 0, $header_size);
$body = substr($response, $header_size);
$data['header'] = $header;
$data['body'] = $body;
retrurn $data;
}
print_r('http://example.com/'); // 就會有 header, body 的 Array 可以拿來使用
?>