最终,我想使用 bash 脚本自动打开并登录网站。
我想知道是否可以使用curl
或elinks
命令登录网站,然后以某种方式将其导出到网络浏览器,或者是否可以更改 Firefox 网络浏览器上的首选项以使用预设凭据登录。
我的这些尝试都没有成功,也不知道它们是否可能。我对完成这项任务的任何其他方法持开放态度。
答案1
对于简单的事情,你可以使用curl。在curl中有一种方法可以使用-F选项填写表单,但很多事情比仅仅提交单个表单更复杂。为此,您需要执行多个步骤才能到达您想要的位置。
我会编写一个 perl 脚本并使用 WWW::Mechanize 模块。
http://search.cpan.org/~ether/WWW-Mechanize-1.75/lib/WWW/Mechanize.pm
这是该页面的示例:
#!/usr/bin/perl
use WWW::Mechanize;
my $mech = WWW::Mechanize->new();
$mech->get( $url );
$mech->follow_link( n => 3 );
$mech->follow_link( text_regex => qr/download this/i );
$mech->follow_link( url => 'http://host.com/index.html' );
$mech->submit_form(
form_number => 3,
fields => {
username => 'mungo',
password => 'lost-and-alone',
}
);
$mech->submit_form(
form_name => 'search',
fields => { query => 'pot of gold', },
button => 'Search Now'
);