http://www.perlmonks.org?node_id=460487


in reply to Re^2: Passing a cookie with LWP::UserAgent
in thread Passing a cookie with LWP::UserAgent

Hi raflach,
I struggled with this for a couple more hours and then went to plan 'B'

What I did was to get the cookie value in my initial script and pass it, via a post, to the LWP'd script. I modified my authenication subroutine (saved in a module), to accept first a cookie and, if that failed, get the cookie value from the posted data.

This works well and I do not have to worry about passing cookies. It also has an added bonus. I am now able to run my scripts if cookies are disabled by saving the cookie value in a hidden field.

Some day I'll understand how this cookie_jar thing works :-).

  • Comment on Re^3: Passing a cookie with LWP::UserAgent

Replies are listed 'Best First'.
Re^4: Passing a cookie with LWP::UserAgent
by kyoshu (Curate) on May 26, 2005 at 07:46 UTC
    you basicly need something like this: $ua->cookie_jar(HTTP::Cookies->new(file => "cookies.txt",autosave => 1));

    some code from some of my script (to ilustrate how it works):
    $ua = LWP::UserAgent->new;
    $ua->cookie_jar(HTTP::Cookies->new(file => "cookies.txt",autosave => 1));
    my $req = HTTP::Request->new(POST => 'http://www.cacti.kobra.ktu.lt/index.php');
    $req->content_type('application/x-www-form-urlencoded');
    $req->content('login_username='.$login.'&login_password='.$passw.'&action=login');
    my $res = $ua->request($req);
    sleep(3);
    
    my $req = HTTP::Request->new(GET => 'http://www.cacti.kobra.ktu.lt/tree.php?action=item_edit&parent_id=254&tree_
    id=12&type_select=2');
    my $res = $ua->request($req);
    my $data = $res->as_string;