in reply to Re: My Mechanize script cannot work ?
in thread My Mechanize script cannot work ?

The code is pretty simple as the following
use WWW::Mechanize; my $mech = WWW::Mechanize->new(); $mech->get("http://www.thesite.com/members/login.asp"); my $content = $mech->content(); $mech->form_number(1); $form = $mech->current_form(); $mech->field('username', 'username'); $mech->field('password', 'pass123'); print $form->dump(); $result = $mech->submit();
So any comments ?

Replies are listed 'Best First'.
Re: Re: Re: My Mechanize script cannot work ?
by zengargoyle (Deacon) on Aug 08, 2003 at 06:33 UTC

    try this...

    # ... my $mech = WWW::Mechanize->new(); $mech->agent('Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)'); # l +ie through your teeth. # ...
Re: Re: Re: My Mechanize script cannot work ?
by Corion (Patriarch) on Aug 08, 2003 at 06:36 UTC

    As far as I can see, there is nothing wrong with the script, so the problem possibly lies with the HTML from that site. Save the HTML of the site into a file (with $mech->getstore("http://www.thesite.com/members.login.asp", "login.html") and then try to reproduce the problem with a page as small and simple as possible. To load a page ino WWW::Mechanize, set the content like this :

    open HTML, "<", "login.html" or die "Couldn't read 'login.html' : $!\n"; my $html = do { local $/; <HTML> }; $mech->{content} = $html; $mech->_reset_page(); if ( $mech->is_html ) { $mech->{forms} = [ HTML::Form->parse($mech->{content}, "http:/ +/www.thesite.com/members/") ]; $mech->{form} = $self->{forms}->[0]; $mech->_extract_links(); };

    This is all I can do for you at the moment and I will be away over the weekend.

    perl -MHTTP::Daemon -MHTTP::Response -MLWP::Simple -e ' ; # The $d = new HTTP::Daemon and fork and getprint $d->url and exit;#spider ($c = $d->accept())->get_request(); $c->send_response( new #in the HTTP::Response(200,$_,$_,qq(Just another Perl hacker\n))); ' # web