Maison >développement back-end >tutoriel php >Comment décoder des pages Web compressées par Gzip récupérées via cURL en PHP
Décodage des pages Web compressées Gzip récupérées via cURL en PHP
Lors de la récupération de pages Web gzip via cURL, les données brutes compressées sont souvent renvoyées comme réponse. Pour décoder correctement ces données en PHP, diverses méthodes peuvent être utilisées.
Une approche consiste à écrire le contenu dans un fichier temporaire et à utiliser les fonctions gzopen, gzread et gzclose pour le décompresser. Cependant, une solution plus efficace est disponible grâce à la fonction d'encodage automatique de cURL.
Encodage automatique dans cURL
En définissant l'option CURLOPT_ENCODING sur une chaîne vide ou 'gzip ', cURL activera automatiquement le mode d'encodage automatique. Dans ce mode :
Définition de l'option d'encodage
Pour activer l'encodage automatique, utilisez la commande suivante :
<code class="php">curl_setopt($ch, CURLOPT_ENCODING , ''); // Activates 'auto' mode</code>
Alternativement, pour forcer l'encodage gzip dans l'en-tête de la requête, utilisez :
<code class="php">curl_setopt($ch, CURLOPT_ENCODING , 'gzip');</code>
Conclusion
L'encodage automatique est un moyen pratique et efficace de décoder les pages Web gzip récupéré via cURL en PHP. Il élimine le besoin de gestion manuelle des fichiers et permet un décodage transparent sans sacrifier les performances.
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!