PHP CURL 印出 Header 和 Body

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 的的內容抓出來,並且印出的範例:

  1. <?php
  2. function get_url($url)
  3. {
  4. $ch = curl_init();
  5. curl_setopt($ch, CURLOPT_URL, $url);
  6. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  7. curl_setopt($ch, CURLOPT_HEADER, 1);
  8. $response = curl_exec($ch);
  9. $header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
  10. curl_close($ch);
  11. // 切出 Header 與 Body
  12. $header = substr($response, 0, $header_size);
  13. $body = substr($response, $header_size);
  14. $data['header'] = $header;
  15. $data['body'] = $body;
  16. retrurn $data;
  17. }
  18. print_r('http://example.com/'); // 就會有 header, body 的 Array 可以拿來使用
  19. ?>

作者: Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料