检查复选框我应该如何检查这样一个复选框:无法通过Perl的LWP :: UserAgent的
<td><center><INPUT name="test2%40mydomain.com_notmetoo" type="CHECKBOX" value="off" ></center></td>
Perl的LWP :: UserAgent的模块?
此代码不会这样做(输出就好像在提交时没有勾选复选框 - 即网页被刷新并且复选框被清除)。
#!/usr/bin/perl
use LWP::UserAgent;
$ua = new LWP::UserAgent;
$ua->cookie_jar({ file => "$ENV{HOME}/.mailmanrc" });
$res = $ua->post('http://mydomain.com/mailman/admin/test1_mydomain.com/members/list',
Content_Type => 'form-data',
Content => [
'test2%40mydomain.com_notmetoo' => 'on',
setmemberopts_btn => 'Submit Your Changes'
]
);
if ($res->is_success) {
print $res->decoded_content;
print "Changed user setting...I hope!\n";
}
else {
die $res->status_line;
}
我不知道为什么“@”用“%40”中的元素名称代表,但我也尝试过(任何想法?): “测试2 \%40mydomain.com_notmetoo '=>'on', 和 '[email protected]_notmetoo'=>'on', 没有成功。
网站上似乎没有JavaScript(即它在JavaScript禁用的浏览器中正常工作)。我无法让它在Perl中工作。
谢谢。
特里。
更新#1:这里是POSTDATA值从Firefox的“篡改数据”扩展名,当我检查的Test2的notmetoo框后提交:
POSTDATA =-----------------------------2921376274802
Content-Disposition: form-data; name="findmember"
-----------------------------2921376274802
Content-Disposition: form-data; name="test1%40mydomain.com_realname"
Test1
-----------------------------2921376274802
Content-Disposition: form-data; name="user"
test1%40mydomain.com
-----------------------------2921376274802
Content-Disposition: form-data; name="test1%40mydomain.com_hide"
on
-----------------------------2921376274802
Content-Disposition: form-data; name="test1%40mydomain.com_notmetoo"
on
-----------------------------2921376274802
Content-Disposition: form-data; name="test1%40mydomain.com_plain"
on
-----------------------------2921376274802
Content-Disposition: form-data; name="test1%40mydomain.com_language"
en
-----------------------------2921376274802
Content-Disposition: form-data; name="test2%40mydomain.com_realname"
Test2
-----------------------------2921376274802
Content-Disposition: form-data; name="user"
test2%40mydomain.com
-----------------------------2921376274802
Content-Disposition: form-data; name="test2%40mydomain.com_hide"
on
-----------------------------2921376274802
Content-Disposition: form-data; name="test2%40mydomain.com_notmetoo"
off
-----------------------------2921376274802
Content-Disposition: form-data; name="test2%40mydomain.com_plain"
on
-----------------------------2921376274802
Content-Disposition: form-data; name="test2%40mydomain.com_language"
en
-----------------------------2921376274802
Content-Disposition: form-data; name="test3%40mydomain.com_realname"
Test3
-----------------------------2921376274802
Content-Disposition: form-data; name="user"
test3%40mydomain.com
-----------------------------2921376274802
Content-Disposition: form-data; name="test3%40mydomain.com_hide"
on
-----------------------------2921376274802
Content-Disposition: form-data; name="test3%40mydomain.com_plain"
on
-----------------------------2921376274802
Content-Disposition: form-data; name="test3%40mydomain.com_language"
en
-----------------------------2921376274802
Content-Disposition: form-data; name="setmemberopts_btn"
Submit Your Changes
-----------------------------2921376274802
Content-Disposition: form-data; name="allmodbit_val"
0
-----------------------------2921376274802--
这是否帮助任何人帮助我吗?
您必须向我们显示包含此输入的整个表单。这是一组具有相同名称的复选框吗? – Borodin 2012-08-15 03:15:58
如果您正在模拟浏览器,那么您应该考虑WWW :: Mechanize – Borodin 2012-08-15 03:21:10
@Borodin。感谢您的建议。以下是整个表单的副本:(http://homepages.paradise.net.nz/abcd/mailman1.htm)。正如你所看到的,复选框有不同的名称。我刚刚注意到,与这个GNU Mailman“网站”中的其他网页(我没有这样的问题)不同,这个链接在