Sto cercando di decodificare la pagina web www.dealstan.com usando CURL utilizzando il codice qui sotto:Come decodificare "Content-Encoding: gzip, gzip" usando curl?
$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;
ma, sta mostrando alcuni spazzatura charater
"} {W6 9 X n .......... "per circa 100 linee.
ho cercato di trovare la risposta a hurl.it, ha trovato un punto interessante, sembra che l'html è codificato due volte (solo una supposizione, in base alla risposta)
Trova la risposta qui sotto: GET http://www.dealstan.com/
200 OK 18.87 kB 490 ms View richiesta Visualizza risposta HEADERS
cache-Control: max-age = 0, no-cache
Cf-Ray: 18be7f54f8d80f1b-IAD
Connection: keep-alive
Content-Encoding: gzip, gzip ==============>? sospettando questo, qualcuno lo sa?
Content-Type: text/html; charset = UTF-8
Data: Wed, 19 Nov 2014 18:33:39 GMT
Server: CloudFlare-nginx
Set-Cookie: __cfduid = d1cff1e3134c5f32d2bddc10207bae0681416422019; scade = Gio, 19-Nov-15 18:33:39 GMT; percorso = /; domain = .dealstan.com; HttpOnly
Transfer-Encoding: chunked
Vary: Accept-Encoding
X-Page-Velocità: 1.8.31.2-3973
X-Pingback: http://www.dealstan.com/xmlrpc.php
X-Powered -In HHVM/3.2.0 vista CORPO greggio
H4sIAAAAAAAAA5V8Q5AoWrBk27Ztu/u2bdu2bdu2bdu2bds2583f/pjFVOQqozZnUxkVJ7PwoyA A/qeAb3y83LbYHs/3Hv79wKm/2N5cZyJVtCWu1xyteyzLNqYuWbdtHeELCyIZRRp/1Fe7es3 + wL3Vfb
qualcuno sa come decodificare la risposta con l'intestazione "Content-Encoding: gzip, gzip",
Questo sito si sta caricando correttamente in Firefox, Chrome ecc ma, non sono in grado di decodificare usando CURL.
Please help me per decodificare questo problema?
In google, trovato un errore segnalato in mozilla per il problema simile, https://bugzilla.mozilla.org/show_bug.cgi?id = 205156, ma non sono riuscito a trovare alcuna patch per quel bug, dal momento che il sito si sta caricando correttamente in firefox, avrebbero dovuto risolvere questo problema – stackguy
Dispari. La spazzatura è esattamente ciò che sta tornando, lo dimostra anche in Safari. Quindi in pratica si sta rimandando indietro la pagina gzip, anche se afferma che il Content-Type è text/html. (È inteso per assomigliare? Mi sembra come se il loro sito web sia appena rotto. Mostra, come mi aspetterei, la rappresentazione testuale dei dati GZIP se navigo in Safari ...) NB: Sembra essere gzip in transito e * anche * inviare una versione gzip della pagina, quindi ho dovuto gunzip * due volte * per vedere l'HTML effettivo. –
Basta controllare un paio di altri browser: Firefox e Chrome mi mostrano correttamente la pagina web; Opera e Safari mi mostrano dati gzip non elaborati. Quindi, direi che il sito Web non è configurato correttamente e sta tagliando la pagina due volte, ma che alcuni browser Web stanno rilevando questa violazione e la decodificano due volte per te. Non sono sicuro che potrei fare affidamento sul fatto che sia sempre rotto in questo modo, prima o poi capiranno che il loro sito Web è rotto in alcuni browser principali e correggono la configurazione ... –