Comment décoder “Content-Encoding: gzip gzip” à l'aide de curl?

Je suis en train d'essayer de décoder la page web www.dealstan.com utilisation de CURL en utilisant le code ci-dessous:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url); //Define target site
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); //Return page in string
curl_setopt($cr, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.2 (KHTML, like Gecko) Chrome/5.0.342.3 Safari/533.2');
curl_setopt($ch, CURLOPT_ENCODING , "gzip");     
curl_setopt($ch, CURLOPT_TIMEOUT,5); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE); //Follow redirects

$return = curl_exec($ch); 
$info = curl_getinfo($ch); 
curl_close($ch); 

$html = str_get_html("$return");
echo $html;

mais, c'est montrer de l'ordure personnage

"��}{w�6����9� X�n���.........." pour environ 100 lignes.

J'ai essayé de trouver la réponse à vomir.elle, a trouvé un point intéressant, il semble que le html est codée par deux fois(juste une supposition, basée sur la réponse)

Trouver la réponse ci-dessous:
OBTENIR http://www.dealstan.com/

200 OK 18.87 ko 490 ms
La Vue Affichage De Demande De Réponse
Les en-TÊTES de

Cache-Control: max-age=0, no-cache

Cf-Ray: 18be7f54f8d80f1b-SAI

Connection: keep-alive

Content-Encoding: gzip gzip ==============>? se doutant de ce, tout le monde sait à ce sujet?

Content-Type: text/html; charset=UTF-8

Date: Wed, 19 Nov 2014 18:33:39 GMT

Serveur: cloudflare-nginx

Set-Cookie: __cfduid=d1cff1e3134c5f32d2bddc10207bae0681416422019; expires=Thu, 19-Nov-15 18:33:39 GMT; path=/; domain=.dealstan.com; HttpOnly

Transfer-Encoding: chunked

Vary: Accept-Encoding

X-Page-Vitesse: 1.8.31.2-3973

X-Pingback: http://www.dealstan.com/xmlrpc.php

X-Powered-By: HHVM/3.2.0
CORPS view raw

H4sIAAAAAAAAA5V8Q5AoWrBk27Ztu/u2bdu2bdu2bdu2bds2583f/pjFVOQqozZnUxkVJ7PwoyAA/qeAb3y83LbYHs/3Hv79wKm/2N5cZyJVtCWu1xyteyzLNqYuWbdtHeELcyizrrp/1Fe7es3+wL3Vfb

quelqu'un sait comment faire pour décoder la réponse avec l'en-tête "Content-Encoding: gzip gzip",

Que le site se charge correctement dans firefox, chrome etc. mais, je ne suis pas capable de décoder à l'aide de CURL.

Merci de m'aider à décoder ce problème?

Dans google, trouvé un bug qui est rapporté dans mozilla pour le problème semblable, bugzilla.mozilla.org/show_bug.cgi?id=205156, mais je ne pouvais pas trouver un correctif pour ce bug, puisque le site se charge correctement dans firefox, ils devraient avoir résolu ce problème
Impair. La jonque est exactement ce à quoi revient—il montre de cette façon dans Safari, trop. Donc, c'est essentiellement de l'envoi de retour la page au format gzip, même si elle prétend que le Content-Type text/html. (C'est censé ressembler à ça? Me semble que leur site web est juste cassé. Il montre, comme je l'avais espérer, la représentation textuelle des données GZIP si je parcourir, il y en Safari...) NB: Il semble être gzipping il en transit, et aussi envoi d'un format version de la page, donc j'avais besoin de gunzip double pour voir le code HTML réel.
Viens de vérifier un couple de d'autres navigateurs—Firefox et Chrome réussi à m'afficher la page web, Opera et Safari me montrer les premières données gzip. Donc, je dirais que le site est mal configuré et est gzipping la page deux fois, mais que certains navigateurs web sont la détection de cette rupture et de décodage deux fois pour vous. Je ne suis pas sûr que je serais en dépendent toujours d'être cassé comme ça, que tôt ou tard, ils vont réaliser que leur site web est cassé dans certains grands navigateurs, et de fixer la configuration...
Comme vous l'avez dit, ils ont résolu le problème, maintenant, je suis en mesure de l'analyser sans aucun problème. De toute façon, si nous savons combien firefox est capable de le gérer correctement, qui va nous aider pour résoudre le problème similaire dans l'avenir.

OriginalL'auteur stackguy | 2014-11-19