PDA

Visualizza la versione completa : richiesta pagina web da cgi


scrivoperl
27-10-2006, 00:29
Ciao,
Come richiedo un url tramite script? :berto:

Grazie.

Mich_
27-10-2006, 10:32
Traduzione?

Dove sei? Nel Perl o in una pagina Web?
Dove e` l'oggetto della richiesta? Sul tuo server o su un altro?
Ti interessa la pagina o la stringa (url) che la identifica?

scrivoperl
27-10-2006, 12:30
Sono in unoscript cgi.
L'oggetto della richiesta è sul mio server.
M'interessa richiamare l'url per aprire la pagina.

Mich_
27-10-2006, 13:23
Se non e` cambiato qualcosa ultimamente, non si puo` fare. Non stiamo parlando di PHP, ma di uno script CGI-Perl.

Quello che si puo` fare da un CGI e` generare una pagina HTML.
Se la pagina esiste gia`, puoi leggerla (come fosse un file di testo) e riscriverla nel browser (con un print sulla porta del CGI).

In alternativa, generi una pagina che contiene:
<meta http-equiv='refresh' content='1;$url' />
dove $url e` la variabile che contiene il path (da Web) al tuo file.

scrivoperl
27-10-2006, 15:45
Se la pagina esiste gia`, puoi leggerla (come fosse un file di testo) e riscriverla nel browser (con un print sulla porta del CGI).

Mi interessa proprio questa possibilità:che sintassidovrei utilizzare?

Mich_
27-10-2006, 16:42
E` un po' che non smanetto piu` in Perl, per cui la sintassi mi sfugge. Posto solo la logica.

open(...)
while(<...>){
print();
}

Gaetano Vituzzi
13-11-2006, 22:31
prova questo:



#!/perl
#
# Client

use strict;
use warnings;
use IO::Socket::INET;

my $socket = IO::Socket::INET->new(PeerAddr => 'http://www.google.com', Proto => 'tcp') || die "$!\n";

$socket->autoflush(1);

print $socket "GET http://www.google.com/ HTTP/1.1\r\n";

my $pagina_web = <$socket>;

close($socket);


oppure meglio ancora:




my $get_page = `curl -s http://www.google.it/`



calcola però che io non uso perl da un bel pò...

Loading