Débogage des requêtes Curl en PHP
Lors du débogage des requêtes curl, il est souvent nécessaire d'inspecter les champs de publication envoyés avec la requête. En PHP, curl_setopt() est utilisé pour définir diverses options, telles que les en-têtes, tandis que curl_exec() envoie la requête.
Pour afficher les champs de publication envoyés, on peut exploiter l'option CURLOPT_VERBOSE en conjonction avec CURLOPT_STDERR. L'activation de CURLOPT_VERBOSE enregistre les informations détaillées sur la requête dans le descripteur de fichier CURLOPT_STDERR fourni.
curl_setopt($curlHandle, CURLOPT_VERBOSE, true); $streamVerboseHandle = fopen('php://temp', 'w+'); curl_setopt($curlHandle, CURLOPT_STDERR, $streamVerboseHandle);
Une fois la requête exécutée à l'aide de curl_exec(), les informations détaillées peuvent être récupérées en lisant le descripteur de fichier $streamVerboseHandle.
rewind($streamVerboseHandle); $verboseLog = stream_get_contents($streamVerboseHandle);
De plus, curl_getinfo() peut fournir des métriques supplémentaires sur la dernière requête, qui peuvent être utiles à des fins de débogage.
$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;
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!