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ò?
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ò?
Se intendi il sorgente php, no.
Se intendi il sorgente HTML, puoi, attivando le connessioni server2server.
Fai qualche ricerca in proposito.
Ciao!
Qui su AV le devi attivare dal pannello di controlloOriginalmente inviato da debug
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..
Mettiamo che io voglia prendere il titolo di google..
Perchè così non mi funziona?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";
}
?>
Ultima modifica di lbz3d : 09-02-2009 alle ore 17.55.57
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
Quindi dovrei fare così:
Scusate ma non riesco a capire...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;
EDIT:
Ho provato ma mi da questo errore:
"Destination host forbidden"
Ultima modifica di lbz3d : 09-02-2009 alle ore 19.04.50
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";
}
?>
Mi da sempre "Titolo non trovato"
Hai attivato server to server dal pannello di AV?
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.
In effetti mi stampa solo gli header http, poi per il sorgente mi dice: Destination Host Forbidden....
Questo è quello che mi stampa:
EDIT:Codice:HTTP/1.0 403 Forbidden Date: Tue, 10 Feb 2009 14:05:51 GMT Server: Apache Content-Type: text/plain Destination host forbidden
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
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.
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?
Si, siccome l'avevo inviato con un sito per messaggi gratis, non funzionava ora l'ho inviato con il mio cellulare e funziona
Evvai!
Dannazione, ci ho provato pure io... con la differenza che queli messaggi erano già stati pagati...
Dovreste scriverlo se il messaggio può essere ignorato.
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