Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Re: form not being filled out by WWW::Mechanize

by sundialsvc4 (Abbot)
on Mar 12, 2013 at 17:18 UTC ( #1023022=note: print w/ replies, xml ) Need Help??


in reply to form not being filled out by WWW::Mechanize

Bear in mind that $m->success only tells you that the response was HTTP 202 OK, not that the content of the returned screen was what you anticipated it should be!   All that this tells you is that the server responded with a new page.   You have to now check the content of the HTTP data-stream that was returned, to determine what to do next.

The host undoubtedly did send you back some sort of a page ... it’s up to you to figure out whether that page indicates a successful login or not.


Comment on Re: form not being filled out by WWW::Mechanize
Re^2: form not being filled out by WWW::Mechanize
by Special_K (Beadle) on Mar 13, 2013 at 03:39 UTC

    Here is my updated code:

    #!/usr/bin/perl -w use strict; use WWW::Mechanize; my $response = ""; my $m = WWW::Mechanize->new(); $m->agent_alias('Linux Mozilla'); #$m->get('https://msp.f-secure.com/web-test/common/test.html'); $m->get('http://alumni.nd.edu/s/1210/start.aspx?sid=1210&gid=1&pgid=3& +cid=40'); printf("%s\n", $m->title()); $m->dump_forms(); $response = $m->submit_form( form_number => 1, fields => { 'cid_40$txtUsername' => '<username>', 'cid_40$txtPassword' => '<password>', } ); die unless ($m->success); printf("response code is %s\n", $response->code); printf("response message is %s\n", $response->message); printf("response content is %s\n", $response->content); printf("response header time is %s\n", $response->header('date'));

    The above should be correctly parsing the response from the command. The only problem is that the response doesn't seem to indicate what is going on:

    response code is 200 response message is OK response content is (tons of binary data) response header time is Wed, 13 Mar 2013 03:36:18 GMT

    I can't figure out from the above what is going on. Does anyone have any hints/tips? Note that I get the above response even if I enter a deliberately incorrect username and/or password.

      $m->res->dump; ## I AM DEBUGGING HERE $m->content; ## DECODED CONTENT HERE, if gzipped, its gunzipped , etc
        Is it because you are single quoting your username and password variables?

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (7)
As of 2014-12-21 02:44 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (101 votes), past polls