简体   繁体   中英

How can I fill in web forms with Perl?

I want to fill in a web form with Perl. I am having trouble finding out the correct syntax to accomplish this. As in, how do I go to the URL, select the form, fill in the form, and then press enter to be sure it has been submitted?

WWW :: Mechanize :: FormFiller这样的东西?

WWW::Mechanize and its friends are the way to go. There are several examples in Spidering Hacks , but you'll also find plenty more by googling for the module name.

Good luck, :)

Start with WWW::Mechanize::Shell:

perl -MWWW::Mechanize::Shell -e shell
get http://some/page
fillout
...
submit

Afterwards, type "script", and save generated code as something.pl - and that's about it. It's done.

使用Net::HTTP或其他东西(不能回忆确切的模块)请求表单的操作URL,并将表单字段包含为GET / POST参数(无论表单要求哪个)。

HTML::Form works nicely, too.

The synopsis of the module is an excellent example:

 use HTML::Form;
 $form = HTML::Form->parse($html, $base_uri);
 $form->value(query => "Perl");

 use LWP::UserAgent;
 $ua = LWP::UserAgent->new;
 $response = $ua->request($form->click);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM