For petgas. Cookies will end up in /tmp/cookies
#!/usr/bin/perl -w use strict; use LWP::UserAgent; use HTTP::Cookies; use HTTP::Request::Common; my $ua = LWP::UserAgent->new; my $cookies = HTTP::Cookies->new(file => "/tmp/cookies", autosave => 1); $ua->cookie_jar($cookies); $ua->request(GET "http://www.news.com/");

Replies are listed 'Best First'.
Re: Persistant cookies with LWP::UserAgent
by merlyn (Sage) on Oct 03, 2001 at 07:23 UTC
Re: Persistant cookies with LWP::UserAgent
by patgas (Friar) on Oct 03, 2001 at 19:20 UTC

    I should probably explain what my problem was, in the event anyone else should come searching. I was trying to get my Quickrep program to save its cookie it between uses of the program. I read the HTTP::Cookies and LWP::UserAgent docs again and again, and I was convinced I was just using the given functions wrong, despite the fact that my code looked perfectly correct. Well, it turned out that when my script logged in Perl Monks, it wasn't setting the form option that asks for a persistant cookie. A simple mistake, one that pjf pointed out to me. Otherwise, I'd probably be digging through the source to HTTP::Cookies by now, slowly going insane.

    So for future reference, if you want to login to Perl Monks and save a persistant cookie, you have to pass a value (the actual form uses '+10y') for the 'expires' field. Example:

    my $url = URI::URL->new( 'http://www.perlmonks.org/index.pl' ); $url->query_form( op => 'login', user => $username, passwd => $password, expires => '+10y' ); my $request = HTTP::Request->new( GET => $url->as_string() ); my $response = $agent->request( $request );

    "We're experiencing some Godzilla-related turbulence..."