Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [PHP]Leggere risposta server in formato gzip

    Ho un annoso problema che mi sta davvero irritando spero di avere un
    corposo aiuto .

    Richiedo una pagina al server passando il seguente header (gli href sugli url li aggiunge in automatico il forum cmq non ci sono):

    GET /pg/cgi/pgbrowse.cgi?lv=4&vcc=001103600&l=1&btt=1&cb=0&qs= &dv=pg&x=0&y=0 HTTP/1.1\r\nHost: www.paginegialle.it\r\n
    If-Modified-Since: Wed, 03 Nov 2004 16:39:53 GMT\r\n
    User-Agent: Opera/7.54 (X11; Linux i686; U) [it]\r\n
    Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0\r\n
    Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1\r\n
    Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1\r\n
    Connection: Keep-Alive, TE\r\nTE: deflate, gzip, chunked, identity, trailers\r\n
    \r\n

    Lo faccio utilizzando il seguente codice

    Codice PHP:
    <?php
    $fp 
    fsockopen ("www.paginegialle.it"80$errno$errstr30);
    if (!
    $fp) {
        echo 
    "$errstr ($errno)
    \n"
    ;

    else {
        
    fputs ($fp"GET /pg/cgi/pgbrowse.cgi?lv=4&vcc=001103600&l=1&btt=1&cb=0&qs=&dv=pg&x=0&y=0 HTTP/1.1\r\nHost: [url]www.paginegialle.it\r\nIf-Modified-Since:Wed,[/url] 03 Nov 2004 16:39:53 GMT\r\nUser-Agent: Opera/7.54 (X11; Linux i686; U)  [it]\r\nAccept-Encoding: deflate, gzip, x-gzip, identity, *;q=0\r\nAccept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1\r\nAccept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1\r\nConnection: Keep-Alive, TE\r\nTE: deflate, gzip, chunked, identity, trailers\r\n\r\n");

    while (!
    feof($fp)) {
            
            
    $pippofgets($fp);
            echo 
    $pippo;
      
            }
            
            
        }
        
    fclose ($fp);
    }
    ?>
    La risposta che ne ottengo,oltre ad un intestazione leggibile, è compressa almeno credo in gzip.
    Non riesco però a leggerla
    Avete idee?
    I will use Google before asking dumb questions.
    http://www.weiterbildungsblog.de/archives/google.jpg

  2. #2
    al 90% tutto il cruccio sta qua

    fputs ($fp, "GET /pg/cgi/pgbrowse.cgi?lv=4&vcc=001103600&l=1&btt=1&cb=0&qs= &dv=pg&x=0&y=0 HTTP/1.0
    Host: www.paginegialle.it
    If-Modified-Since:Wed,</a> 03 Nov 2004 16:39:53 GMT
    User-Agent: Opera/7.54 (X11; Linux i686; U) [it]
    Accept-Encoding: deflate
    Accept: text/html
    Accept-Charset: iso-8859-1
    Connection: close\r\n\r\n");

    questo dovrebbe essere + che sufficente per farti arrivare quello che ti deve arrivare non compresso

    se ti continua ad arrivare compresso cambia sistema...invece di usare tutta la tiritera che usi per leggere la pagina web fai...

    $body = implode('', file('http://www.paginegialle.it/pg/cgi/pgbrowse.cgi?lv=4&vcc=001103600&l=1&btt=1&cb=0&qs= &dv=pg&x=0&y=0'));

    e se ti arriva compresso, dovrebbe gestire php la cosa xche usi gli stream http

    se ti continua ad arrivare compresso www.php.net/gzip
    cmq c'è una pillola sull'argomento che spiega come risolvere il problema

    sciauz

  3. #3

    Tnxs for reply

    Uso tutta l'inutile tiritera perchè le pagine gialle cattive hanno una cgi che riconosce (non so in che modo) se la richiesta proviene da un browser o da un webserver, e nel caso venga da un webserver restituisce una bella pagina di errore e ti banna prontamente l'ip; quindi non posso usare la funzione file().
    Ho letto la pillola sugli header ma non ne ho cavato un ragno dal buco .
    Cmq ora miracolosamente funziona
    Ricordami di spedirti un pacco per natale, ora mi dovrò tirar fuori dai 5768 contatti delle pagine gialle inerenti l'umbria, tutte le email... Perchè? Il mio datore di lavoro è folle...
    I will use Google before asking dumb questions.
    http://www.weiterbildungsblog.de/archives/google.jpg

  4. #4
    funziona xche obbligi il web server a inviarti i dati non compressi...ovvero deflate

  5. #5
    Avevo fatto una decina di tentativi con la funzione
    gzinflate()
    ma non davano esito positivo...
    Molto probabilmente perchè non riuscivo a creare il file gz in modo corretto dalla risposta del webserver.
    Grazie ancora.
    I will use Google before asking dumb questions.
    http://www.weiterbildungsblog.de/archives/google.jpg

  6. #6

    Re: Tnxs for reply

    Originariamente inviato da kallo
    ora mi dovrò tirar fuori dai 5768 contatti delle pagine gialle inerenti l'umbria, tutte le email... Perchè? Il mio datore di lavoro è folle...
    Non a caso Pagine Gialle vende gli indirizzi in formato CSV a caro prezzo
    per favore NIENTE PVT TECNICI da sconosciuti

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.