我不是超级熟悉这个包摆在首位.我发现,use_plugin('JavaScript')方法消耗大量的内存通过分析器.我交换了这个方法的插件('JavaScript'),虽然内存消耗较低,我不能事件通过登录页面的形式,我应该报废的网站.
全局定义:
my $scripter = WWW::Scripter->new();
$scripter->use_plugin('JavaScript')
if(my $form = $scripter->form_with_fields("Password")){
$form->value('Password', $conf->{'moxa_p'});
$form->submit();
}else{
print "dbg +> form 1.0 not found";
}
尝试使用delete和undef关键字,但它根本没有帮助!
1条答案
按热度按时间wribegjk1#
减少缓存页面堆栈(WWW::Scripter WWW::Mechanize)
在WWW::Scripter中使用max_docs或在WWW::Machanize中使用stack_depth。WWW::Machanize手册页建议将其设置为5或10。
man WWW::Scripter
max_docs
要保留在历史记录中的文档对象的最大数量(沿着它们对应的请求和响应对象)。如果省略此值,则将使用Mech的stack_depth + 1。此值相差1,因为stack_depth是您可以返回的页数,因此它比记录的页数小1。max_docs认为0等于无穷大。
man WWW::Mechanize
·“堆栈深度=> $值”
设置页面堆栈的深度,以跟踪所有下载的页面。默认情况下,堆栈大小实际上是无限的。如果堆栈正在消耗您的内存,请将此设置为较小的数字,例如5或10。将此设置为零意味着Mech将不保留任何历史记录。