Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number
 
PerlMonks  

Re: LWP Cookies

by repson (Chaplain)
on Feb 11, 2001 at 14:13 UTC ( #57729=note: print w/ replies, xml ) Need Help??


in reply to LWP Cookies

If you look at the HTTP::Cookies source code, then you can see that the $cookie_jar->load() method does no sanity checking on its filename argument. Instead it passes it unchanged to open. We can use this as a feature.

my $cookies = new HTTP::Cookies; $cookies->set_cookie(0,'foo','foog','/','.blah.com','80',0,0,1000,1,{} +); $cookies->set_cookie(0,'moo','1025','/','.blah.com','80',0,0,1000,1,{} +); my $text = $cookies->as_string; # do anything to $text, and come back later pipe Read, Write; print Write "#LWP-Cookies-1.0\n" . $text; close Write; my $cook = new HTTP::Cookies; $cook->load( '<& ' . fileno(*Read) ); # $cook is now the same as $cookies above and we can use it as if it w +as print $cook->as_string;
What I did here was use a standard funtion that creates two connected filehandles. Then sent the data to the part called Write, then closed it to flush it and signal EOF. Then in a new HTTP::Cookies object we load the data by telling it to open its filehandle to the same file descriptor as the other end of our connected handles.

On the whole this solution seems to do the job requested without requiring disk I/O, but using simple disk I/O may be a clearer method and seems to be necessary under Win98 for $cookie->as_string data over 512 characters long.


Comment on Re: LWP Cookies
Select or Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://57729]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (9)
As of 2014-09-20 14:13 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (159 votes), past polls