Menyahpepijat Permintaan Curl dalam PHP
Apabila menyahpepijat permintaan curl, selalunya perlu untuk memeriksa medan siaran yang dihantar bersama permintaan itu. Dalam PHP, curl_setopt() digunakan untuk menetapkan pelbagai pilihan, seperti pengepala, manakala curl_exec() menghantar permintaan.
Untuk melihat medan siaran yang dihantar, seseorang boleh memanfaatkan pilihan CURLOPT_VERBOSE bersama-sama dengan CURLOPT_STDERR. Mendayakan CURLOPT_VERBOSE log maklumat bertele-tele tentang permintaan kepada pemegang fail CURLOPT_STDERR yang disediakan.
curl_setopt($curlHandle, CURLOPT_VERBOSE, true); $streamVerboseHandle = fopen('php://temp', 'w+'); curl_setopt($curlHandle, CURLOPT_STDERR, $streamVerboseHandle);
Selepas permintaan telah dilaksanakan menggunakan curl_exec(), maklumat verbose boleh diambil dengan membaca daripada $streamVerboseHandle filehandle.
rewind($streamVerboseHandle); $verboseLog = stream_get_contents($streamVerboseHandle);
Selain itu, curl_getinfo() boleh memberikan metrik tambahan tentang permintaan terakhir, yang boleh memberi manfaat untuk tujuan penyahpepijatan.
$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;
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Nyahpepijat dan Memeriksa Medan POST dalam Permintaan Curl PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!