Visualizzazione risultati 1 fino 22 di 22

Discussione: [PHP] Recuperare Sorgente File Esterno

  1. #1
    Guest

    Predefinito [PHP] Recuperare Sorgente File Esterno

    Ciao...
    Vorrei sapere se è possibile recuperare la sorgente di un file esterno al mio server...
    Stavo studiando le espressioni regolari per prendere da un file esterno il tag "<title>", ma non funziona
    Quindi vi chiedo c'è qualche modo per fare ciò?

  2. #2
    Guest

    Predefinito

    Se intendi il sorgente php, no.
    Se intendi il sorgente HTML, puoi, attivando le connessioni server2server.
    Fai qualche ricerca in proposito.


    Ciao!

  3. #3
    Guest

    Predefinito

    Citazione Originalmente inviato da debug
    attivando le connessioni server2server.
    Qui su AV le devi attivare dal pannello di controllo

  4. #4
    Guest

    Predefinito

    Intendo HTML.
    Ho appena inviato il messaggio per attivare le connessioni server 2 server...
    Ma qualcuno potrebbe farmi un esempio su come effettuare questa connessione e recuperare il sorgente?
    Grazie..

  5. #5
    Guest

    Predefinito

    Hai due modi:
    Curl
    fsockopen


    Ciao!

  6. #6
    Guest

    Predefinito

    Mettiamo che io voglia prendere il titolo di google..
    Codice PHP:
    <?php
    $fp
    = fsockopen("www.google.it", 80);
    $file = "http://www.google.it";
    $sorgente_file_remoto = implode("", file($file));
    if(
    eregi("<title>(.+)</title>", $sorgente_file_remoto, $titolo)) {
    echo
    "Il titolo della pagina " . $file . " è " . $titolo[1];
    } else {
    echo
    "Titolo non trovato";
    }
    ?>
    Perchè così non mi funziona?
    Ultima modifica di lbz3d : 09-02-2009 alle ore 17.55.57

  7. #7
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Per prelevare l'HTML da un sito dai uno sguardo qui: http://forum.it.altervista.org/probl...tml#post594417
    Scaricato il codice puoi unire il tuo script alla variabile $res
    Apprezzi l'aiuto? Offrimi un caffè!

  8. #8
    Guest

    Predefinito

    Quindi dovrei fare così:
    Codice PHP:
    $url = "http://www.google.it";
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $res = curl_exec($ch);
    curl_close($ch);
    echo
    $res;
    Scusate ma non riesco a capire...

    EDIT:
    Ho provato ma mi da questo errore:
    "Destination host forbidden"
    Ultima modifica di lbz3d : 09-02-2009 alle ore 19.04.50

  9. #9
    Guest

    Predefinito

    Lo stavi facendo con i socket continua così no ? :D
    Codice PHP:
    <?php
    $fp
    = fsockopen("www.google.it", 80);
    if (
    $fp) {
    $out = "GET / HTTP/1.1\r\n";
    $out .= "Host: www.google.it\r\n";
    $out .= "Connection: Close\r\n\r\n";
    fwrite($fp, $out);
    $code = "";
    while (!
    feof($fp)) {
    $code.= fgets($fp, 256);
    }
    fclose($fp);
    if(
    eregi("<title>(.+)</title>", $code, $titolo))
    echo
    "Il titolo della pagina " . $file . " è " . $titolo[1];
    else
    echo
    "Titolo non trovato";

    }
    ?>

  10. #10
    Guest

    Predefinito

    Mi da sempre "Titolo non trovato"

  11. #11
    Guest

    Predefinito

    Hai attivato server to server dal pannello di AV?

  12. #12
    Guest

    Predefinito

    Citazione Originalmente inviato da stoner Visualizza messaggio
    Hai attivato server to server dal pannello di AV?
    Citazione Originalmente inviato da lbz3d Visualizza messaggio
    Ho appena inviato il messaggio per attivare le connessioni server 2 server...
    Grazie..
    Si l'ho scritto in un post precedente...

    EDIT: Comunque preferisco farlo con cURL, anche se va bene lo stesso fsockopen(), chiedo almeno di riuscire a stampare il sorgente
    Ultima modifica di lbz3d : 09-02-2009 alle ore 22.54.02

  13. #13
    Guest

    Predefinito

    Se stampi la variabile $code del codice sopra hai il sorgente della pagina (e gli header http da eliminare asd). Solo che su altervista altervista non funziona, ho provato anche io, all'inizio l'ho fatto solo in locale però poi dato che mi è venuto il dubbio l'ho provato qui. Non funziona .. e in più ho mandato due sms -.- per l'attivazione del server to server ma non ne vuol sapere.

  14. #14
    Guest

    Predefinito

    In effetti mi stampa solo gli header http, poi per il sorgente mi dice: Destination Host Forbidden....

    Questo è quello che mi stampa:
    Codice:
    HTTP/1.0 403 Forbidden Date: Tue, 10 Feb 2009 14:05:51 GMT Server: Apache Content-Type: text/plain Destination host forbidden
    EDIT:
    Ho uno strano problema funziona(con curl) ma solo con il sito di wordpress
    Strano...
    Pagina di esempio:
    http://lbz3d.altervista.org/my.php?u.../wordpress.com

    Per provare altri siti credo che sappiate cosa fare...
    Ultima modifica di lbz3d : 10-02-2009 alle ore 19.16.24

  15. #15
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Hai eliminato la restrinzione?
    Apprezzi l'aiuto? Offrimi un caffè!

  16. #16
    Guest

    Predefinito

    Si, c'è una sorta di white list o giù di lì.. leggi bene sul pannello di AV, funziona solo con certi siti (es anche http://news.google.it ).. ma si può togliere.

  17. #17
    Guest

    Predefinito

    Quindi non posso effettuare queste connessioni verso tutti i siti?
    io il messaggio l'ho inviato...
    lo invio di nuovo per sicurezza
    Se lo invio vengono eliminate le restrizioni?

  18. #18
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Se hai spedito l'SMS e il tuo pannello ti dice che la restrinzione è stata disattivata non c'è bisogno che reinvii l'sms.
    Apprezzi l'aiuto? Offrimi un caffè!

  19. #19
    Guest

    Predefinito

    Si, siccome l'avevo inviato con un sito per messaggi gratis, non funzionava ora l'ho inviato con il mio cellulare e funziona
    Evvai!

  20. #20
    outofheaven non è connesso Neofita
    Data registrazione
    29-10-2004
    Messaggi
    20

    Predefinito

    Dannazione, ci ho provato pure io... con la differenza che queli messaggi erano già stati pagati...
    Dovreste scriverlo se il messaggio può essere ignorato.

  21. #21
    Guest

    Predefinito

    Se posso dare un consiglio....io uso file_get_contents
    Codice PHP:
    <?
    $url
    = "http://altervista.org/index.php";
    $file = file_get_contents($url);
    if(
    eregi("<title>(.+)</title>",$file,$titolo)) {
    echo
    "Il titolo della pagina {$file} è {$titolo[1]}";
    }
    else {
    echo
    "Titolo non trovato";
    }
    ?>
    Ultima modifica di sIM : 12-12-2009 alle ore 20.24.22

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

    Predefinito

    Citazione Originalmente inviato da sIM Visualizza messaggio
    Se posso dare un consiglio....io uso file_get_contents
    Codice PHP:
    <?
    $url
    = "http://altervista.org/index.php";
    $file = file_get_contents($url);
    if(
    eregi("<title>(.+)</title>",$file,$titolo)) {
    echo
    "Il titolo della pagina {$file} è {$titolo[1]}";
    }
    else {
    echo
    "Titolo non trovato";
    }
    ?>
    Ma almeno il codice lo provi? Mi sa di no.
    Quello su AV non funzionerà mai, devi usare o fsockopen o cURL.

Regole di scrittura

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