in reply to WWW::Mechanize can't see the fields

I tried this code but still getting some problems.
#!/usr/bin/perl use warnings; use strict; use WWW::Mechanize; my $url; my $m = WWW::Mechanize->new(autocheck => 1); my $response; $url = 'http://www.attorneycar.com/what-to-do-in-a-car-accident/'; $m->post($url); $m->form_number(2); $m->field('author', 'test'); $m->field('email', 'test@hotmail.com'); $m->field('url', 'sasdsadadasd'); $m->field('comment', 'sasdsadadasd'); $m->field('comment_post_ID', '37' ); $response = $m->submit_form(); print $m->response(); print $response->content();
I'm getting this output. I used post because I noticed that it is using the POST method.
Error POSTing http://www.attorneycar.com/wp-comments-post.php: Interna +l Server Error at 124.pl line 21

Replies are listed 'Best First'.
Re^2: WWW::Mechanize can't see the fields
by Corion (Patriarch) on Oct 23, 2009 at 22:36 UTC

    You will need to look at your webserver error log. The error:

    Internal Server Error

    means that your CGI program had an internal problem. It's easy for you to look into your webserver error log and to find the cause for the error there.

    Alternatively, read the WWW::Mechanize documentation about the autocheck parameter, to switch off the automatic checking of success.

      Thanks for the replies people.

      Marto--
      You have more than one form on that page, the $mech->field() method defaults to the first form on the page, you need to either specify a form_name or form_number.
      This is exactly the error, all I needed to do was specify the form id or number.

      Anonymous Monk--
      I'm getting this output. I used post because I noticed that it is using the POST method. Error POSTing http://www.attorneycar.com/wp-comments-post.php: Interna +l Server Error at 124.pl line 21
      This is happening because Wordpress will make sure to return server errors in case it sees the same post being sent twice (spam control I guess). Try modifying the "comment" field and it should work.