Maison >développement back-end >tutoriel php >Comment puis-je séparer efficacement les en-têtes et le corps dans les requêtes PHP cURL ?
Récupération des en-têtes et du corps dans les requêtes PHP cURL
Lorsque vous effectuez des requêtes cURL à l'aide de PHP, la récupération des en-têtes de réponse et du corps peut être une tâche difficile. défi. L'option CURLOPT_HEADER, tout en renvoyant le corps avec les en-têtes, nécessite une analyse manuelle pour extraire le corps. Pour une solution plus efficace et sécurisée, envisagez l'approche suivante :
Solution :
Comme suggéré par la documentation PHP, en utilisant une combinaison de CURLOPT_RETURNTRANSFER et en récupérant la taille de l'en-tête de CURLINFO_HEADER_SIZE permet la séparation des en-têtes et body :
// Initialize cURL $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, 1); // Execute the request $response = curl_exec($ch); // Extract header size $header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE); // Separate headers and body $header = substr($response, 0, $header_size); $body = substr($response, $header_size);
Attention :
Bien que cette solution soit généralement fiable, elle peut ne pas fonctionner de manière cohérente lors de l'utilisation de serveurs proxy ou de la gestion de certains types de redirections. Dans de tels cas, des approches alternatives, telles que celle mentionnée dans la question initiale, peuvent fournir des résultats plus fiables.
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!