如何在perl中提交表单后接收页面内容?

时间:2014-03-29 07:54:38

标签: perl

我已经编写了一个用于检查表单中正确密码的perl程序。 我的算法是在提交表单之前获取登录页面的内容 并在提交表单后将其与登录页面的内容进行比较。 当我在该页面中手动输入错误的密码时,页面内容会发生变化 但在我的剧本中,它始终是平等的。 我希望你明白我想做什么。 这是我的代码:

#!/usr/bin/perl
use WWW::Mechanize;
print "Usage : perl script.pl username passwordlist-path\n";
$username = $ARGV[0];
$password = $ARGV[1];
open(password , $password);
@passworddata = <password>;
close(password);
# print @passworddata;

$mech = WWW::Mechanize->new();
$url = "http://www.mysite.com/loginpage";
$mech ->get($url);
$u1 = $mech->content;
$mech->submit_form(
    form_number => 1,
    fields      => { 'userfield' => $username,
             'passfield' => @passworddate[0] },
    button      =>   'Submitfield'
        );
$u2 = $mech->content;

if ($u2 eq $u1) { print "Not Cracked\n"; }
else { print "Cracked\n"; }

1 个答案:

答案 0 :(得分:1)

您的$u1$u2的日期相同。 $u2应该是提交的表单的回复。

$resp = $mech->submit_form

$u2 = $resp->content();