궁극적으로 bash 스크립트를 사용하여 웹 사이트를 자동으로 열고 로그인하고 싶습니다.
curl
또는 명령을 사용하여 웹 사이트에 로그인한 다음 어떻게든 웹 브라우저로 내보낼 수 있는지 elinks
, 아니면 미리 설정된 자격 증명으로 로그인하도록 Firefox 웹 브라우저의 기본 설정을 변경할 수 있는지 궁금합니다.
내 시도 중 어느 것도 성공하지 못했고 그것이 가능한지 모르겠습니다. 나는 이 작업을 수행하는 다른 방법에 대해 열려 있습니다.
답변1
간단한 작업에는 컬을 사용할 수 있습니다. 컬에서 -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'
);