我有一个 perl 脚本,它可以浏览网站上的两个表单页面,以便将最终表单提交的结果下载到文件中。该页面非常大,我宁愿将其直接写入磁盘,也不愿将整个页面保存在内存中。
这是一个代码片段:
$mech->submit_form(
form_name => 'search',
fields => {
"srch_recd" => $cfg{max_rows}, #results per page
}
);
$mech->save_content( $workdir.$cfg{cachedstones} );
我知道我可以做到这一点:
$mech->get( $url, ":content_file"=>$tempfile );
为了在使用 get() 时将结果写入文件。然而,同样的做法对submit_form() 不起作用。
如何让submit_form()的结果直接进入字段,而不是坐在内存中?
最佳答案
You can also save any content directly to disk using the :content_file flag to get(), which is part of LWP::UserAgent.
$mech->get( 'http://www.cpan.org/src/stable.tar.gz',
':content_file' => 'stable.tar.gz' );
这也应该适用于 ->post。
关于forms - perl WWW::Mechanize Submit_form() 直接写入文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16863732/