j'utilise ce script pour recuperer la source d'une page web
---------
use LWP::Simple;
use strict;
print "Content-type: text/html\n\n";
my $url = "http://monsite.com/redirect.php?site=random";
my $html=get($url);
print $html;
----------
http://monsite.com/redirect.php?site=random <== ouvre un site de facon
aléatoire et c'est bien ce site dont je recupere la source, ce que implique
que LWP a été redirigé vers l'url finale mais mon probleme est :
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Paul Gaborit
À (at) Tue, 30 Nov 2004 12:04:00 +0100, "Fabrice L." écrivait (wrote):
j'utilise ce script pour recuperer la source d'une page web --------- use LWP::Simple; use strict;
print "Content-type: text/htmlnn"; my $url = "http://monsite.com/redirect.php?site=random"; my $html=get($url); print $html; ----------
http://monsite.com/redirect.php?site=random <== ouvre un site de facon aléatoire et c'est bien ce site dont je recupere la source, ce que implique que LWP a été redirigé vers l'url finale mais mon probleme est :
comment connaitre cet url finale ?
Si kkun a une idée, je suis preneur !
Dans la doc de LWP::Simple, on peut lire :
If you need more control or access to the header fields in the requests sent and responses received, then you should use the full object-oriented interface provided by the "LWP::UserAgent" module.
Il faut donc utiliser LWP::UserAgent. Le petit script ci-desous doit pouvoir vous servir de point de départ :
use strict; use LWP::UserAgent; use HTTP::Request;
my $url = "http://monsite.com/redirect.php?site=random"; my $ua = LWP::UserAgent->new; my $request = HTTP::Request->new(GET => $url); my $response = $ua->simple_request($request); if ($response->is_success) { print $response->headers->as_string; print $response->content; } else { die $response->status_line; }
-- Paul Gaborit - <http://www.enstimac.fr/~gaborit/> Perl en français - <http://www.enstimac.fr/Perl/>
À (at) Tue, 30 Nov 2004 12:04:00 +0100,
"Fabrice L." <rafale@altern.org> écrivait (wrote):
j'utilise ce script pour recuperer la source d'une page web
---------
use LWP::Simple;
use strict;
print "Content-type: text/htmlnn";
my $url = "http://monsite.com/redirect.php?site=random";
my $html=get($url);
print $html;
----------
http://monsite.com/redirect.php?site=random <== ouvre un site de facon
aléatoire et c'est bien ce site dont je recupere la source, ce que implique
que LWP a été redirigé vers l'url finale mais mon probleme est :
comment connaitre cet url finale ?
Si kkun a une idée, je suis preneur !
Dans la doc de LWP::Simple, on peut lire :
If you need more control or access to the header fields in the requests
sent and responses received, then you should use the full
object-oriented interface provided by the "LWP::UserAgent" module.
Il faut donc utiliser LWP::UserAgent. Le petit script ci-desous doit pouvoir
vous servir de point de départ :
use strict;
use LWP::UserAgent;
use HTTP::Request;
my $url = "http://monsite.com/redirect.php?site=random";
my $ua = LWP::UserAgent->new;
my $request = HTTP::Request->new(GET => $url);
my $response = $ua->simple_request($request);
if ($response->is_success) {
print $response->headers->as_string;
print $response->content;
} else {
die $response->status_line;
}
--
Paul Gaborit - <http://www.enstimac.fr/~gaborit/>
Perl en français - <http://www.enstimac.fr/Perl/>
À (at) Tue, 30 Nov 2004 12:04:00 +0100, "Fabrice L." écrivait (wrote):
j'utilise ce script pour recuperer la source d'une page web --------- use LWP::Simple; use strict;
print "Content-type: text/htmlnn"; my $url = "http://monsite.com/redirect.php?site=random"; my $html=get($url); print $html; ----------
http://monsite.com/redirect.php?site=random <== ouvre un site de facon aléatoire et c'est bien ce site dont je recupere la source, ce que implique que LWP a été redirigé vers l'url finale mais mon probleme est :
comment connaitre cet url finale ?
Si kkun a une idée, je suis preneur !
Dans la doc de LWP::Simple, on peut lire :
If you need more control or access to the header fields in the requests sent and responses received, then you should use the full object-oriented interface provided by the "LWP::UserAgent" module.
Il faut donc utiliser LWP::UserAgent. Le petit script ci-desous doit pouvoir vous servir de point de départ :
use strict; use LWP::UserAgent; use HTTP::Request;
my $url = "http://monsite.com/redirect.php?site=random"; my $ua = LWP::UserAgent->new; my $request = HTTP::Request->new(GET => $url); my $response = $ua->simple_request($request); if ($response->is_success) { print $response->headers->as_string; print $response->content; } else { die $response->status_line; }
-- Paul Gaborit - <http://www.enstimac.fr/~gaborit/> Perl en français - <http://www.enstimac.fr/Perl/>
Fabrice L.
merci m. gaborit pour votre réponse on ne peut plus claire et explicite (une marque de fabrique :) )
Cependant, comme je ne suis pas resté les doigts croisés à attendre qu'on me donne la réponse, j'ai continué a chercher et j'en suis arrivé aux memes conclusions que vous, il fallait utiliser LWP::UserAgent
et apres plusieurs essais, ceci marche fort bien : ---- use strict; use LWP::UserAgent; use HTTP::Request;
my $url = "http://monsite.com/redirect.php?site=random";
my $ua = new LWP::UserAgent; my $request= new HTTP::Request('GET', "$url" ); my $res = $ua->request($request);
my $url_finale = $res->base;
print $url_finale; -----
(j'ai ommis volontairement la verification is_success afin de faire rapide)
J'allais poster ma solution quand j'ai lu votre réponse, dsl du dérangement et merci pour votre coup de main !
C U
Fabrice
"Paul Gaborit" a écrit dans le message de news:
À (at) Tue, 30 Nov 2004 12:04:00 +0100, "Fabrice L." écrivait (wrote):
j'utilise ce script pour recuperer la source d'une page web --------- use LWP::Simple; use strict;
print "Content-type: text/htmlnn"; my $url = "http://monsite.com/redirect.php?site=random"; my $html=get($url); print $html; ----------
http://monsite.com/redirect.php?site=random <== ouvre un site de facon aléatoire et c'est bien ce site dont je recupere la source, ce que implique
que LWP a été redirigé vers l'url finale mais mon probleme est :
comment connaitre cet url finale ?
Si kkun a une idée, je suis preneur !
Dans la doc de LWP::Simple, on peut lire :
If you need more control or access to the header fields in the requests
sent and responses received, then you should use the full object-oriented interface provided by the "LWP::UserAgent" module.
Il faut donc utiliser LWP::UserAgent. Le petit script ci-desous doit pouvoir
vous servir de point de départ :
use strict; use LWP::UserAgent; use HTTP::Request;
my $url = "http://monsite.com/redirect.php?site=random"; my $ua = LWP::UserAgent->new; my $request = HTTP::Request->new(GET => $url); my $response = $ua->simple_request($request); if ($response->is_success) { print $response->headers->as_string; print $response->content; } else { die $response->status_line; }
-- Paul Gaborit - <http://www.enstimac.fr/~gaborit/> Perl en français - <http://www.enstimac.fr/Perl/>
merci m. gaborit pour votre réponse on ne peut plus claire et explicite (une
marque de fabrique :) )
Cependant, comme je ne suis pas resté les doigts croisés à attendre qu'on me
donne la réponse, j'ai continué a chercher et j'en suis arrivé aux memes
conclusions que vous, il fallait utiliser LWP::UserAgent
et apres plusieurs essais, ceci marche fort bien :
----
use strict;
use LWP::UserAgent;
use HTTP::Request;
my $url = "http://monsite.com/redirect.php?site=random";
my $ua = new LWP::UserAgent;
my $request= new HTTP::Request('GET', "$url" );
my $res = $ua->request($request);
my $url_finale = $res->base;
print $url_finale;
-----
(j'ai ommis volontairement la verification is_success afin de faire rapide)
J'allais poster ma solution quand j'ai lu votre réponse, dsl du dérangement
et merci pour votre coup de main !
C U
Fabrice
"Paul Gaborit" <Paul.Gaborit@invalid.invalid> a écrit dans le message de
news:r7sm6rpkxu.fsf@pasteur.enstimac.fr...
À (at) Tue, 30 Nov 2004 12:04:00 +0100,
"Fabrice L." <rafale@altern.org> écrivait (wrote):
j'utilise ce script pour recuperer la source d'une page web
---------
use LWP::Simple;
use strict;
print "Content-type: text/htmlnn";
my $url = "http://monsite.com/redirect.php?site=random";
my $html=get($url);
print $html;
----------
http://monsite.com/redirect.php?site=random <== ouvre un site de facon
aléatoire et c'est bien ce site dont je recupere la source, ce que
implique
que LWP a été redirigé vers l'url finale mais mon probleme est :
comment connaitre cet url finale ?
Si kkun a une idée, je suis preneur !
Dans la doc de LWP::Simple, on peut lire :
If you need more control or access to the header fields in the
requests
sent and responses received, then you should use the full
object-oriented interface provided by the "LWP::UserAgent" module.
Il faut donc utiliser LWP::UserAgent. Le petit script ci-desous doit
pouvoir
vous servir de point de départ :
use strict;
use LWP::UserAgent;
use HTTP::Request;
my $url = "http://monsite.com/redirect.php?site=random";
my $ua = LWP::UserAgent->new;
my $request = HTTP::Request->new(GET => $url);
my $response = $ua->simple_request($request);
if ($response->is_success) {
print $response->headers->as_string;
print $response->content;
} else {
die $response->status_line;
}
--
Paul Gaborit - <http://www.enstimac.fr/~gaborit/>
Perl en français - <http://www.enstimac.fr/Perl/>
merci m. gaborit pour votre réponse on ne peut plus claire et explicite (une marque de fabrique :) )
Cependant, comme je ne suis pas resté les doigts croisés à attendre qu'on me donne la réponse, j'ai continué a chercher et j'en suis arrivé aux memes conclusions que vous, il fallait utiliser LWP::UserAgent
et apres plusieurs essais, ceci marche fort bien : ---- use strict; use LWP::UserAgent; use HTTP::Request;
my $url = "http://monsite.com/redirect.php?site=random";
my $ua = new LWP::UserAgent; my $request= new HTTP::Request('GET', "$url" ); my $res = $ua->request($request);
my $url_finale = $res->base;
print $url_finale; -----
(j'ai ommis volontairement la verification is_success afin de faire rapide)
J'allais poster ma solution quand j'ai lu votre réponse, dsl du dérangement et merci pour votre coup de main !
C U
Fabrice
"Paul Gaborit" a écrit dans le message de news:
À (at) Tue, 30 Nov 2004 12:04:00 +0100, "Fabrice L." écrivait (wrote):
j'utilise ce script pour recuperer la source d'une page web --------- use LWP::Simple; use strict;
print "Content-type: text/htmlnn"; my $url = "http://monsite.com/redirect.php?site=random"; my $html=get($url); print $html; ----------
http://monsite.com/redirect.php?site=random <== ouvre un site de facon aléatoire et c'est bien ce site dont je recupere la source, ce que implique
que LWP a été redirigé vers l'url finale mais mon probleme est :
comment connaitre cet url finale ?
Si kkun a une idée, je suis preneur !
Dans la doc de LWP::Simple, on peut lire :
If you need more control or access to the header fields in the requests
sent and responses received, then you should use the full object-oriented interface provided by the "LWP::UserAgent" module.
Il faut donc utiliser LWP::UserAgent. Le petit script ci-desous doit pouvoir
vous servir de point de départ :
use strict; use LWP::UserAgent; use HTTP::Request;
my $url = "http://monsite.com/redirect.php?site=random"; my $ua = LWP::UserAgent->new; my $request = HTTP::Request->new(GET => $url); my $response = $ua->simple_request($request); if ($response->is_success) { print $response->headers->as_string; print $response->content; } else { die $response->status_line; }
-- Paul Gaborit - <http://www.enstimac.fr/~gaborit/> Perl en français - <http://www.enstimac.fr/Perl/>