In addition to sgifford's comment, there are some modules to read some browser's cookies in the HTTP::Cookies namespace:
| [reply] |
thanks for you answer my question,now my problem have solve. and i would like to share my code
use LWP;
use HTTP::Cookies::Microsoft;
use Win32::TieRegistry(Delimiter => "/");
my $cookies_dir = $Registry->
{"CUser/Software/Microsoft/Windows/CurrentVersion/Explorer/Shell
+ Folders/Cookies"};
$cookie_jar = HTTP::Cookies::Microsoft->new(
file => "$cookies_dir\\index.dat",
'delayload' => 1,
);
my $browser = LWP::UserAgent->new;
$browser->cookie_jar( $cookie_jar );
$req = HTTP::Request->new('GET',"http://www.92home.com/cgi-bin/lb5000
+/memberlist.cgi?a=4&page=1");
$res = $browser->request($req);
print $browser->request($req)->as_string;
| [reply] [d/l] |
Hi weihe,
What you're asking for is very browser-specific; there's no standard for system-wide cookie storage. You'll have to figure out how the browser you're using stores cookies, either from its documentation, its source code, or by poking around and seeing what it does. Then you can find them in its store and tell LWP about them.
IIRC, IE stores its cookies in a cookies directory somewhere in the user's settings; you can probably get the name of the directory from the registry.
| [reply] |
i use internet explorer 6.0, while i login the website ,it would excute this method,this code in this following,
$namecookie = cookie(-name => "amembernamecookie", -value => "$
+inmembername", -path => "$cookiepath/", -expires => "$CookieDate");
$passcookie = cookie(-name => "apasswordcookie", -value =
+> "$inpassword", -path => "$cookiepath/", -expires => "$CookieDate"
+);
print header(-cookie=>[$namecookie,$passcookie] , -expires=>"$EXP_MODE
+" , -cache=>"$CACHE_MODES");
and while i use lwp to load the webpage , it will use this code to read my computer's cookies about username and password, the code is
if (! $inmembername) { $inmembername = cookie("amembernamecookie"); }
if (! $inpassword) { $inpassword = cookie("apasswordcookie"); }
as you know LWP is not support cookies by default, and though we use http::cookies to create a cookie file in the harddisk, but it is not equal to the cookies which we login the website and create by server. thanks for you reply me, how can i read the cookies or set cookies with my username and password, while i use a LWP to download the webpage ,the server can know me through the cookies value | [reply] [d/l] [select] |