Comment décompresser des pages Web gzippées récupérées via cURL en PHP ?

DDD
Libérer: 2024-10-24 01:00:02
original
751 Les gens l'ont consulté

How to Decompress Gzipped Web Pages Retrieved via cURL in PHP?

Décodage de pages Web gzippées récupérées via cURL en PHP

Lors de la récupération de pages Web gzippées à l'aide de cURL, les données brutes peuvent être générées à la place du contenu décodé. La résolution de ce problème peut être obtenue en utilisant les méthodes suivantes :

Mode d'encodage automatique

Le mode « encodage automatique » de cURL permet au serveur de déterminer les méthodes d'encodage prises en charge et de décompresser automatiquement la réponse. Pour activer ce mode, utilisez la commande suivante :

<code class="php">curl_setopt($ch, CURLOPT_ENCODING, '');</code>
Copier après la connexion

En définissant l'option CURLOPT_ENCODING sur une chaîne vide, cURL utilisera le mode "auto".

Forcer la compression GZIP

Alternativement, vous pouvez forcer la demande d'utilisation de la compression GZIP en définissant l'option CURLOPT_ENCODING sur 'gzip' :

<code class="php">curl_setopt($ch, CURLOPT_ENCODING, 'gzip');</code>
Copier après la connexion

Cela demandera explicitement la compression GZIP au serveur.

Décompression PHP Fonction

Si vous devez décompresser manuellement les données récupérées, vous pouvez utiliser la fonction gzdecode() :

<code class="php">$decompressedContent = gzdecode($gzippedContent);</code>
Copier après la connexion

Cette fonction décode les données compressées par GZIP et renvoie le contenu non compressé.

Bonne pratique

Pour garantir une décompression fiable, il est recommandé de désactiver la mise en mémoire tampon de sortie de PHP avant d'exécuter la requête curl. Cela évite toute interférence avec le traitement de la réponse par cURL.

<code class="php">ob_end_clean();</code>
Copier après la connexion

Remarques supplémentaires

  • Gardez à l'esprit que le serveur doit prendre en charge la compression GZIP pour que l'une de ces méthodes fonctionne.
  • Pour plus d'informations sur les options cURL, reportez-vous à la documentation PHP sur curl_setopt.

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!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!