在 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中文网其他相关文章!