in reply to Re^2: what is the correct way to set cookie in LWP::UserAgent
in thread what is the correct way to set cookie in LWP::UserAgent

A cookie is just another header. A cookie jar is a collection of cookies that the browser can search by the page it is going to and select the right ones to send back

if you wanted to just supply a single cookie and not care about any cookies you get back you could try this

my $ua=LWP::UserAgent->new(keep_alive=>1); my $getline='http://place.to.go.to/'; my $req = new HTTP::Request (GET => $getline ,HTTP::Headers->new('Cookie'=> 'JSESSION +ID=F97AC6F5AD33D54D0C06F4CBF0230C43' ) ); my $request = $ua->request ($req);
When i want to use a "stand alone" cookie-jar i do something like this
my $cookie_jar_obj = HTTP::Cookies->new(ignore_discard=>1,hide_cooki +e2=>1); my $ua=LWP::UserAgent->new(keep_alive=>1); $ua->cookie_jar( $cookie_jar_obj ); $cookie_jar_obj->set_cookie(0, 'JSESSIONID', 'F97AC6F5AD33D54D0C06F4 +CBF0230C43' , '/', 'place.to.go.to', 80 , '', '', 14400000, 0 ); $cookie_jar_obj->set_cookie(0, 'LoginUsername', 'Operator' , '/', 'place.to.go.to', 80 , '', '', 14400000, 0 ); $cookie_jar_obj->set_cookie(0, "LoginPassword", 'Operator' , '/', 'place.to.go.to', 80 , '', '', 14400000, 0 ); $repeatme=1; while ($repeatme) { my $getline='http://place.to.go.to/'; my $req = new HTTP::Request (GET => $getline); my $request = $ua->request ($req); if (some-test-for-done){ $repeatme=0;} }
In both cases those are just cut and pastes from existing code and not tested as they appear here. YMMV

Replies are listed 'Best First'.
Re^4: what is the correct way to set cookie in LWP::UserAgent
by Eroln (Novice) on Jun 19, 2017 at 04:21 UTC
    Thanks, huck, this was a real breakthrough :-).

    I found you were able to make run construction I have used previously. As result, I found my where is my problem. I expect cookies are agent independent, but they are not.

    I.e. I cannot use cookie extracted from curl to connect via LWP. When I did both operations on the same agent, I was successful.

    I will write an answer later on when I test my solution.