PERL - get cookie avec LWP::UserAgent

Fermé
tony872 - Modifié par tony872 le 12/04/2011 à 00:04
Bonjour a tous,
Apres de nombreuses recherches je ne parviens pas a recuperer les cookies d une page web.

Mes principales recherches m'ont menes a utiliser HTTP::Cookies dans LWP::UserAgent
Voila le code que j ai actuellement (concernant le script perl):
#!/usr/bin/perl 

use strict; 
use LWP::UserAgent; 
use HTTP::Cookies; 
use Data::Dumper; 

my $cookie = HTTP::Cookies->new( 
    file           => 'cookie.txt', 
    autosave       => 1, 
    ignore_discard => 1 
    ); 

my $ua = new LWP::UserAgent; 

$ua->agent("Mozilla 3.6.2"); 
$ua->cookie_jar($cookie); 

my $req = new HTTP::Request( 
    GET         => 'http://***URL***/test.html' 
    ); 

my $res = $ua->request($req); 

$cookie->extract_cookies($res); 


Et concernant la page web en question :
<html> 
    <head> 
        <script language="JavaScript"> 
        function setCookie(nom, valeur, jours) 
        { 
            var expDate = new Date() 
            expDate.setTime(expDate.getTime() + (jours * 24 * 3600 * 1000)) 
            document.cookie = nom + "=" + escape(valeur) 
            + ";expires=" + expDate.toGMTString() 
        } 
        </script> 
    </head> 
    <body> 
        <script> 
            setCookie("toto", 24, 2); 
        </script> 
    </body> 
</html> 



Le cookie se SET correctement dans le navigateur internet, cependant dans cookie.txt il n'y a que "#LWP-Cookies-1.0"

J ai souvent trouve sur le net l utilite de l attribut "ignore_discard" set a 1 pour la gestion des cookies. mais il y est deja et ca n a pas resolu le probleme.

Si quelqu'un parmi vous a une idee de l origine du probleme j en serai tres reconnaissant.

Merci :)

PS: L erreur ne semble concerner que les cookies crees en JS, pour les cookies en PHP, j arrive a les recuperer correctement
A voir également: