Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Re^6: WWW Mechanize and JavaScript Cookie

by saintex (Scribe)
on Mar 16, 2011 at 10:43 UTC ( [id://893523]=note: print w/replies, xml ) Need Help??


in reply to Re^5: WWW Mechanize and JavaScript Cookie
in thread WWW Mechanize and JavaScript Cookie

yes, for sure :-) Try to visit with your Perl script (or with the mine, that is similar) a page like this:
<?php setcookie("TestCookie", 'mytest', time()+3600, "/", "localhost", 0); ?> <html> <head> <script> function setCookie(cookieName,cookieValue,nDays) { var today = new Date(); var expire = new Date(); if (nDays==null || nDays==0) nDays=1; expire.setTime(today.getTime() + 3600000*24*nDays); document.cookie = cookieName+"="+escape(cookieValue) + ";expires="+expire.toUTCString(); } function ReadCookie(cookieName) { var theCookie=""+document.cookie; var ind=theCookie.indexOf(cookieName+"="); if (ind==-1 || cookieName=="") return ""; var ind1=theCookie.indexOf(";",ind); if (ind1==-1) ind1=theCookie.length; return unescape(theCookie.substring(ind+cookieName.length+1,ind1)); } setCookie('cookJS','prova13',5); alert('- - -'); alert(ReadCookie('TestCookie') ); alert(ReadCookie('cookJS') ); alert('- - -'); </script> </head> <body> </body> </html>
As you can see, the perl output shows the content of the cookie wrote with PHP ('TestCookie'), not the cookie I wrote via JavaScript ('cookJS').

So you can't write a cookie via JavaScript. You can only read them.

Replies are listed 'Best First'.
Re^7: WWW Mechanize and JavaScript Cookie
by Anonymous Monk on Mar 16, 2011 at 16:46 UTC
    I see no problem
    #!/usr/bin/perl -- use strict; use warnings; use WWW::Scripter; my $w = WWW::Scripter->new; $w->use_plugin('JavaScript'); #~ http://www.w3schools.com/JS/js_cookies.asp #~ http://www.w3schools.com/JS/tryit.asp?filename=tryjs_cookie_usernam +e #~ http://www.w3schools.com/JS/tryit_view.asp?filename=tryjs_cookie_us +ername $w->set_prompt_function( sub { 'teh usernaem ' } ); $w->get('http://www.w3schools.com/JS/tryit_view.asp?filename=tryjs_coo +kie_username'); print $w->cookie_jar->as_string, "\n\n"; print $w->document->body->as_text; __END__ Set-Cookie3: ASPSESSIONIDCARTDDCR=EFEIMDHAHLJNFCHKOGLODEKM; path="/"; +domain=www.w3schools.com; path_spec; discard; version=0 Set-Cookie3: username=teh%20usernaem%20; path="/JS"; domain=www.w3scho +ols.com; expires="2012-03-15 16:43:55Z"; version=0
      Hello,
      on Friday I will try you page,
      and I will tell you, if your sample works with my setup (JavaScript.pm Spidermonkey and so on...)

      For now, thank youQ

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others learning in the Monastery: (3)
As of 2024-04-25 02:13 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found