OVH Cloud OVH Cloud

client web, lwp et cookie

2 réponses
Avatar
Vincent Lepage
Bonjour,
je veux parser une page web qui necessite d'accepter les cookies (c le
problème)
Pour l'instant, j'ai écris un bout de code qui recupère une page web
"normale", mais je tombe sur une page du style :
<HTML><HEAD><TITLE>RÚsultat</TITLE><meta http-equiv="REFRESH"
content="5;URL=cherches.cgi"></HEAD><BODY TEXT="#000000"
BGCOLOR="#F8F1C7" LINK="#0000EE" VLINK="#
551A8B" ALINK="#FF00
00"><H1>RÚsultat</H1><P><HR><BR>Vous devez accepter les cookies pour
pouvoir accÚder aux rÚsultats.

mon script est globalement :
my $host = 'site.fr';
my $port = $2;
$port = 80 unless($port);
my $file = 'file';

my $proto = getprotobyname('tcp');
socket(SOCK, PF_INET, SOCK_STREAM, $proto);
print "Looking up $host..\n";
my $sin = sockaddr_in($port, inet_aton($host));
print "Connecting to $host:$port..\n";
connect(SOCK, $sin) || die "Connect failed: $!\n";

my $old_fh = select(SOCK);
$|=1;
select($old_fh);

print "Requesting $file..\n";
print SOCK "GET $file HTTP/1.0\n";
print SOCK "Accept: */*\n";
print SOCK "User-Agent: webamp $version\n\n";
print "Waiting for reply..\n";
my $header = <SOCK>;
print "$header\n";
#exit unless($header=~m/200|OK/);

while($header = <SOCK>) {
print $header;
}

l'utilisation de lpw donne le même résultat...
donc comment faire ?
Merci !

2 réponses

Avatar
Vincent Lepage
autant pour moi, je viens de trouver une meilleure doc pour lwp, qui
explique comment autoriser des cookies
pour info :
http://www.oreilly.com/openbook/webclient/ch05.html
Avatar
alian
Vincent Lepage wrote:
autant pour moi, je viens de trouver une meilleure doc pour lwp, qui
explique comment autoriser des cookies
pour info :
http://www.oreilly.com/openbook/webclient/ch05.html


Et encore pour info le module WWW::Mechanize est un regal pour ce genre de
choses, encore plus utile sur plusieurs pages avec formulaires.