有一个名为 https://www.guidgenerator.com/online-guid-generator.aspx 的网站,它生成全局唯一标识符。我正在尝试使用 perl 的 Mechanize 发布到网站以提取该指南。我意识到这是基于 javascript 的,但想知道我是否可以发布正确的帖子来提取号码。我从浏览器中跟踪它,并在请求中获得了所有标头,但返回的 html 不包含 guid。
这是成功运行的结果:
这是我的脚本:
这是页面内的表单:
在我的脚本中,我转储了以下所需的表单和输入字段:
my @forms = $mech->forms;
foreach my $form (@forms) {
my @inputfields = $form->param;
print Dumper \@inputfields;
}
结果
$VAR1 = [
'__EVENTTARGET',
'__EVENTARGUMENT',
'__LASTFOCUS',
'__VIEWSTATE',
'__VIEWSTATEGENERATOR',
'__EVENTVALIDATION',
'txtCount',
'chkUppercase',
'chkBrackets',
'chkHypens',
'chkBase64',
'chkRFC7515',
'chkURL',
'LocalTimestampValue',
'btnGenerate',
'txtResults'
];
这就是帖子
my $mainpage = "https://www.guidgenerator.com/online-guid-generator.aspx";
$mech->post( "$mainpage",
fields => {
'txtCount' => "1",
'chkBase64' => "on",
'LocalTimestampValue' => "Date%28%29.getTime%28%29",
'btnGenerate' => "Generate+some+GUIDs%21",
'txtResults' => "",
'__EVENTTARGET' => 'on',
'__EVENTARGUMENT', => 'on',
'__LASTFOCUS', => 'on',
'__VIEWSTATEGENERATOR' => "247C709F",
'__VIEWSTATE' => 'on',
'__EVENTVALIDATION' => 'on',
'chkUppercase' => 'off',
'chkBrackets' => 'off',
'chkHypens' => 'off',
'chkRFC7515' => 'off',
'chkURL' => 'off',
},
);
当我在网站上进行跟踪时,我得到了标头,但还有另一个名为“有效负载”的选项卡。其中包含上面列出的大部分字段。我尝试将这些字段输入到 POST 中,但不确定我是否应该以不同的方式执行此操作,或者它并不重要,因为它是 javascript?
我知道这是很多信息。我什至不确定 Perl 的机械化可以提取这些信息。任何帮助,将不胜感激。请让我知道您希望我在此处发布的任何其他数据。
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号