这是有关如何使用Linux命令行和perl脚本自动提交HTML表单的简短提示。对于此示例,我们需要一个WWW :: Mechanize perl模块和一些基本的PHP网站。让我们从简单的PHP网站开始。该网站将包含两个文件:
form.php:
<form action="submit.php" method="post">
First Name: <input name="fname" type="text" />
Last Name: <input name="lname" type="text" />
<input type="submit" />
</form>
Submit.php
<html>
<body>
First Name: <?php echo $_POST["fname"]; ?><br />
Last Name: <?php echo $_POST["lname"]; ?>
</body>
</html>
将这两个文件上传到Web服务器的目录并更改其权限:
chmod 755 form.php submit.php
如果尚未安装,请安装WWW :: Mechanize。在Debian或Ubuntu上会是这样的:
# apt-get install libwww-mechanize-perl
并创建一个名为具有以下内容:
#!/usr/bin/perl
use WWW::Mechanize;
my $mech = WWW::Mechanize->new();
$url = 'http://localhost/form.php';
$mech->get( $url );
$mech->submit_form(
form_number => 1,
fields => {
fname => 'www',
lname => 'mechanize',
}
);
print $mech->content();
注意上面脚本中的URL。编辑此URL以适合您的设置。使脚本可执行:
$ chmod +x mechanize.pl
现在执行此脚本并将所有输出重定向到index.html
./mechanize.pl > index.html
如果一切正常,请使用浏览器打开index.html,您应该看到:
名:www
姓氏:机械化