Est-il possible de détecter gzip
Oui. Vous pouvez utiliser les fonctions d'en-tête de cURLs. Par exemple, vous pouvez définir une fonction qui gère les réponses d'en-tête. Utilisez curl_setopt()
avec l'option CURLOPT_HEADERFUNCTION
. Ou écrivez-le dans un fichier (que vous avez créé avec fopen()
) avec l'option CURLOPT_WRITEHEADER
.
Il peut y avoir plus d'options que vous pourriez utiliser. Regardez les possibilités au manuel curl_setopt(). L'en-tête que vous cherchez porte le nom: Content-Encoding.
Si vous avez la sortie dans un fichier, vous pouvez également utiliser les PHP finfo avec certains de ses predefined constants. Ou mime_content_type() (DEPRECATED!) si finfo n'est pas disponible.
ou d'obtenir la réponse du serveur brut (codé)?
Oui. Vous pouvez spécifier l'en-tête accept-encoding. La valeur que vous recherchez est identity. Vous pouvez envoyer:
Accept-Encoding: identity
mai avoir regarder la HTTP/1.1 RFC Pour obtenir une non codée/sortie non compressé (par exemple pour l'écrire directement dans un fichier). Utilisez CURLOPT_ENCODING
à cette fin. Vous pouvez également le définir avec * curl_setopt *.