Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Re^5: Seeking assistance with WWW::Mechanize Form Submission

by Gangabass (Priest)
on Jan 17, 2013 at 13:27 UTC ( #1013780=note: print w/ replies, xml ) Need Help??


in reply to Re^4: Seeking assistance with WWW::Mechanize Form Submission
in thread Seeking assistance with WWW::Mechanize Form Submission

Try this:

$mech->submit_form( ..... fields => { ..... submit => "Log On", }, ),


Comment on Re^5: Seeking assistance with WWW::Mechanize Form Submission
Download Code
Re^6: Seeking assistance with WWW::Mechanize Form Submission
by tspang (Initiate) on Jan 17, 2013 at 16:37 UTC
    using these 3 variations:
    $data=$mech->submit_form( form_name => 'HashForm1', fields => { login_password => 'password', login_username => 'username', prefLanguage => 00000000, submit => 'Log On', } );
    and this
    $mech->submit_form( form_name => 'HashForm1', fields => { login_password => 'password', login_username => 'username', prefLanguage => 00000000, }, button => "submit", );
    and this
    $mech->form_name('HashForm1'); $mech->field("login_username",'username'); $mech->field("login_password",'password'); $mech->field("prefLanguage",00000000); $mech->submit_form();

    all yield the same 500 error. Trying to record the tranactions using httprecorder with the follwing line yields a 403

    $mech->proxy(['https'], 'http://localhost:8080');

    but it does yield this in the log:

    $agent->get('https://192.168.0.2'); $agent->get('https://192.168.0.2/home.htm'); $agent->get('https://192.168.0.2/logon.htm');

    I have tried all of the different combinations of submitting the post data as well, even though that seemed like the least likely way to resolve the problem. Is it possible something in the headers isn't being set that would prevent log in? This seems like such a simple task and yet its turning out to be quite difficult.

      Try to set User-Agent (at the beginning of your code):

      $mech->agent_alias("Windows IE 6");

      This seems like such a simple task and yet its turning out to be quite difficult.

      It is because you're not being linear, because you're not speaking the right language

      If it works from your browser, it works because of the headers/requests it sends, so if you want it to work from LWP, send the exact same requests, in the exact same order, using the exact same headers

      If for whatever reason the website decides it doesn't like your requests, you didn't dot an I or cross a T, well, you'll have to figure it out, there is no secret, no magic, websites can be fantastically stupid in what they accept and what they reject, so if you have found a way that works, be as identical as possible

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (17)
As of 2014-09-02 13:38 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite cookbook is:










    Results (22 votes), past polls