web-dev-qa-db-ja.com

PHP、curl、およびrawヘッダー

PHP curl関数を使用しているときに、curlであるrawヘッダーがサーバーに正確にsendingであることがわかりますか?

37
Alan Storm

curl_getinfo を使用できます。

電話の前に

curl_setopt($ch, CURLINFO_HEADER_OUT, true);

$headers = curl_getinfo($ch, CURLINFO_HEADER_OUT);
41
Greg
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLINFO_HEADER_OUT, true);
curl_exec($ch);
var_dump(curl_getinfo($ch,CURLINFO_HEADER_OUT));
?>

Php 5.1.3でのみ利用可能 http://php.net/manual/en/function.curl-getinfo.php


コンソールを使用してを押すと、それらが同じであることを確認できます

カール http://example.com/ -I

または

curl --trace-ascii /file.txt http://example.com/

申し訳ありませんが、PHP/CURLバインディングは、これらすべての詳細を提供できるlibcurlからのコールバックであるCURLOPT_DEBUGFUNCTIONを適切にサポートしていません。

これが、curlコマンドラインツールとその--trace-asciiオプションFIRSTを使用してHTTPスクリプトを作成し、それをPHP関数に変換することをお勧めします。

5
Daniel Stenberg

curl_getinfo呼び出しを行う前に、必ずCURLINFO_HEADER_OUTオプションを設定してください

curl_setopt($ c、CURLINFO_HEADER_OUT、true);

2
jlb