Récupération des en-têtes et du corps de réponse dans PHP cURL
Lors de l'utilisation de PHP cURL, il est possible de récupérer à la fois les en-têtes de réponse et le corps dans un demande unique. Une approche courante consiste à définir CURLOPT_HEADER sur true, ce qui renvoie le corps ainsi que les en-têtes. Cependant, l'analyse de cette réponse combinée pour extraire le corps nécessite un traitement supplémentaire.
Une méthode alternative suggérée par les commentaires de la documentation PHP propose une approche plus structurée :
Code :
$ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, 1); // ... $response = curl_exec($ch); // Get header and body after execution: $header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE); $header = substr($response, 0, $header_size); $body = substr($response, $header_size);
Cette approche offre un accès plus propre aux composants de l'en-tête et du corps du réponse.
Attention :
Il est important de noter que cette méthode peut ne pas être fiable dans tous les scénarios, en particulier lors de l'utilisation de serveurs proxy ou de la gestion de certains types de redirections. Pour une fiabilité améliorée, envisagez la solution alternative de @Geoffrey fournie dans la section commentaires, qui répond à ces cas extrêmes.
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!