Webページを開き、CLIを介してユーザー名とパスワードを入力します。

Webページを開き、CLIを介してユーザー名とパスワードを入力します。

最終的に、bashスクリプトを使用してWebサイトを自動的に開き、ログインしたいと思います。

curlまたは、コマンドを使用してWebサイトにログインしてから何らかの方法でWebブラウザにエクスポートできるのか、elinksFirefox Webブラウザのデフォルト設定を変更して、事前設定された資格情報でログインできるかどうか疑問に思います。

私の試みのどれも成功せず、それが可能かどうかわかりません。私はこれを行う他の方法について開いています。

答え1

簡単な操作ではカールを使用できます。 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'
);

関連情報