Visualizzazione risultati 1 fino 10 di 10

Discussione: Come usare fsockopen per leggere il contenuto di altri siti

  1. #1
    Guest

    Predefinito Come usare fsockopen per leggere il contenuto di altri siti

    Salve a tutti. Come faccio con fscockopen a leggere il contenuto di un altra pagina web?
    Codice:
    <?php
    $fp=fsockopen("http://altervista.org");
    echo $fp;
    ?>
    Questo ad esempio mi dovrebbe mostrare la home di altervista. Com'è possibile farlo? Ho guardato su php.net ma non ne capisco di inglese...
    Anche perchè ho speso (la bellezza di) 15 cent con l'sms per alìttivarlo! (Ovviamente si scherza! )

  2. #2
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

  3. #3
    Guest

    Predefinito

    Ecco qui un esempio fatto con altervista...
    http://genuzzu.altervista.org/abcde.php
    Allora? Ho sbagliato qualcosa?

  4. #4
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

  5. #5
    Guest

    Predefinito

    Scusa, la pagina è cambiata. Prima il codice era:
    Codice:
    <?php
    $fp = fsockopen("altervista.org", 80, $errno, $errstr, 30);
    if (!$fp) {
        echo "$errstr ($errno)<br />\n";
    } else {
        $out = "GET /file.txt HTTP/1.1\r\n";
        $out .= "Host: altervista.org\r\n";
        $out .= "Connection: Close\r\n\r\n";
        fwrite($fp, $out);
        while (!feof($fp)) {
            echo fgets($fp, 128);
        }
        fclose($fp);
    }
    ?>
    mi dava delle cose strane all' inizio e dopo un messaggio che mi avvertiva che la pagina esisteva. Io invece ne volevo mostrare il contenuto. In realtà dovrei anche memorizzarlo in una variabile, ma se riuscirò a visualizzarlo...

  6. #6
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    Codice:
    <?php
    $fp = fsockopen("altervista.org", 80, $errno, $errstr, 30);
    if (!$fp) {
        echo "$errstr ($errno)<br />\n";
    } else {
        $out = "GET /file.txt HTTP/1.1\r\n";
        $out .= "Host: altervista.org\r\n";
        $out .= "Connection: Close\r\n\r\n";
        fwrite($fp, $out);
        while (!feof($fp)) {
            echo fgets($fp, 128);
        }
        fclose($fp);
    }
    ?>
    se vuoi vedere la index devi eliminare file.txt;
    al posto di file.txt devi mettere il file che vuoi visualizzare.

  7. #7
    Guest

    Predefinito

    Citazione Originalmente inviato da andreafallico Visualizza messaggio
    Codice:
    <?php
    $fp = fsockopen("altervista.org", 80, $errno, $errstr, 30);
    if (!$fp) {
        echo "$errstr ($errno)<br />\n";
    } else {
        $out = "GET /file.txt HTTP/1.1\r\n";
        $out .= "Host: altervista.org\r\n";
        $out .= "Connection: Close\r\n\r\n";
        fwrite($fp, $out);
        while (!feof($fp)) {
            echo fgets($fp, 128);
        }
        fclose($fp);
    }
    ?>
    se vuoi vedere la index devi eliminare file.txt;
    al posto di file.txt devi mettere il file che vuoi visualizzare.
    Stesso risultato. Ho provato con CURL e mi dice la stessa cosa: il file esiste. Sotto c'è un link alla pagina. Ma non me la visualizza.

  8. #8
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    Prova questo senza modificare una virgola
    Codice PHP:
    <?php
    $fp
    = fsockopen("www.google.it", 80, $errno, $errstr, 30);
    if (!
    $fp) {
    echo
    "$errstr ($errno)<br />\n";
    } else {
    $out = "GET / HTTP/1.1\r\n";
    $out .= "Host: www.google.it\r\n";
    $out .= "Connection: Close\r\n\r\n";
    fwrite($fp, $out);
    while (!
    feof($fp)) {
    echo
    fgets($fp, 128);
    }
    fclose($fp);
    }
    ?>

  9. #9
    Guest

    Predefinito

    http://genuzzu.altervista.org/abcde.php
    Fuziona! Per non visualizzare le scritte di sopra?

  10. #10
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    Così:
    Codice PHP:
    <?php
    $fp
    = fsockopen("www.google.it", 80, $errno, $errstr, 30);
    if (!
    $fp) {
    echo
    "$errstr ($errno)<br />\n";
    } else {
    $out = "GET / HTTP/1.1\r\n";
    $out .= "Host: www.google.it\r\n";
    $out .= "Connection: Close\r\n\r\n";
    fwrite($fp, $out);
    $header = '';
    do{
    $header .= fgets($fp, 128);
    }while(
    strpos($header, "\r\n\r\n") === false);
    while(!
    feof($fp)){
    echo
    fgets($fp, 128);
    }
    fclose($fp);
    }
    ?>

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •