웹페이지를 열고 CLI를 통해 사용자 이름과 비밀번호를 입력하세요.

웹페이지를 열고 CLI를 통해 사용자 이름과 비밀번호를 입력하세요.

궁극적으로 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'
);

관련 정보