PHP での Curl リクエストのデバッグ
curl リクエストをデバッグする場合、多くの場合、リクエストとともに送信される post フィールドを検査する必要があります。 PHP では、curl_setopt() を使用してヘッダーなどのさまざまなオプションを設定し、curl_exec() がリクエストを送信します。
送信される投稿フィールドを表示するには、CURLOPT_VERBOSE オプションを CURLOPT_STDERR と組み合わせて利用できます。 CURLOPT_VERBOSE を有効にすると、指定された CURLOPT_STDERR ファイルハンドルにリクエストに関する詳細情報が記録されます。
curl_setopt($curlHandle, CURLOPT_VERBOSE, true); $streamVerboseHandle = fopen('php://temp', 'w+'); curl_setopt($curlHandle, CURLOPT_STDERR, $streamVerboseHandle);
curl_exec() を使用してリクエストが実行された後、$streamVerboseHandle ファイルハンドルから読み取ることで詳細情報を取得できます。
rewind($streamVerboseHandle); $verboseLog = stream_get_contents($streamVerboseHandle);
さらに、 curl_getinfo() は、最後のリクエストに関する追加のメトリクスを提供できます。これは、デバッグの目的に役立ちます。
$version = curl_version(); extract(curl_getinfo($curlHandle)); $metrics = <<<EOD URL....: $url Code...: $http_code ($redirect_count redirect(s) in $redirect_time secs) Content: $content_type Size: $download_content_length (Own: $size_download) Filetime: $filetime Time...: $total_time Start @ $starttransfer_time (DNS: $namelookup_time Connect: $connect_time Request: $pretransfer_time) Speed..: Down: $speed_download (avg.) Up: $speed_upload (avg.) Curl...: v{$version['version']} EOD;
以上がPHP Curl リクエストの POST フィールドをデバッグおよび検査するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。