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 可以拿來使用
- ?>