Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??
Here are some more links with LWP info.. read this one and look at Planetscape's reply to my post with more online books.. Re: Perl code to check and count count if a word exists on a webpage.

Perl cannot run Javascript, but most of the time you don't need to do that. Basically with the various LWP techniques and modules, you are emulating a browser. Figure out what needs to go into the "post" back to the server and just stick the password in there. The webserver has no way to tell whether or not you actually executed some Javascript code - it just looks at what is posted back to it. Usually with some experimentation (sometimes with LOTS of experimentation), I can figure this out by looking at the source code to the webpage.

Update: When you update a post, add some kind of tag like this so that we can tell that something new has been added. I would stay away from WWW::Mechanize::Firefox unless you really need it. This thing is pretty cool and I've done some experimentation with it, but this introduces another layer of complexity into the implementation.

Another Update:
I looked back at one of my LWP programs.

(1) You are emulating a browser. You can claim to be different versions or types of browsers. I find it helpful to claim to be the "stupidest thing" that the website will allow. Many websites serve up different pages depending upon who you are claiming to be - dumber browsers get different pages than smarter browsers. Below I am claiming to be an ancient version of Netscape.

(2) Often it is not necessary to even parse what the server sends you. Below I just checked that I got a valid page (no 404 error or whatever), and then I immediately just post back my credentials. I know that this is the log-in page.

(3) In the post(), I send what I need to. Figuring out what should go into the post() is where the looking at the webpage source and experimentation comes in. The server has no way to figure out what (if any) Javascript code I ran or didn't run.

my $ua = LWP::UserAgent->new or die "Problem with the new UserAgent\n" +; $ua->cookie_jar(HTTP::Cookies->new); $ua->agent("Mozilla/4.76 [en] (Windows NT 5.0; U)"); print "And now I'm calling myself ", $ua->agent( ), "!\n"; # # Get the log on page to the Secure Server # my $response = $ua->get($url) or die "Problem with the get $url\n"; $response->is_success or die "Failed to GET '$url': ", $response->status_line; my $html_page = $response->content( ); # # post the secure log-on with my credentials # $response = $ua->post( 'https://services....someurl', [ 'type' => "ABCDEF", #weird parameters that are page specific "prev" => "GHIJK", 'p201' => "XYZZY", 'p1' => 'some_user_name', 'p2' => 'some_domain', 'p3' => 'some_password' ], );
Of course as with all of these things, mileage varies.

In reply to Re: Need to fill password in with perl on Javascript? by Marshall
in thread Need to fill password in with perl on Javascript? by jdlev

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others lurking in the Monastery: (5)
As of 2024-04-23 18:59 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found