シェル スクリプトを使用して Web サイトにログインしたいと同時に、ユーザー ID とパスワードも自動的に取得したいと考えています。
シェルスクリプトを使用してどのように行うかを提案してください。
ありがとう !!!
HTTP基本認証を使用してWebサイトからコンテンツを取得する場合は、wgetまたはcurlを使用してコマンドラインからこれを実行できます。
wget --http-user=user --http-password=password
curl http://username:password@website.com/url
Cookieベースの認証を使用する場合、設定方法によっては、これにもwgetを使用できる場合があります。たとえば、ログインページにHTTPPOSTできる場合
wget --save-cookies cookies.txt --post-data \
'user=myusername&password=mypassword' http://url/loginpage
wget --load-cookies cookies.txt -p http://url/thecontentIwant
--save-cookiesおよび--load-cookiesを使用すると、Cookieベースの認証トークンをリクエスト間で保持できます。
使用されている認証の形式がより複雑な場合、答えはまったく異なります。したがって、どのWebサイトを念頭に置いているかを示すのに役立ちます。さらに、多くのサイトには、代わりに使用する必要のあるAPIがあります...
一般に、質問を少し明確にできれば役に立ちます。このビットは、ユーザーIDとパスワードも自動的に取得したいのですが、少し混乱します。bashでインタラクティブセッションを実行したい場合(つまり、ユーザーにユーザー名とパスワードをbashスクリプトに入力させる)、次のようになります。
read -e -p
非常に便利です(例:read -e -p "My prompt:" varname; echo $ varname)。
それはウェブサイトがどのように設定されているかに依存します。基本HTTP認証を使用している場合は、wgetまたはcurlを使用して、コマンドライン引数を介してユーザー名とパスワードを指定できる場合があります。ログイン情報がフォームを介して送信された場合は、URLに追加するか、投稿データに追加できます。
ログインがより難解なものである場合は、Seleniumなどのブラウザセッションをスクリプト化する必要があります。それは完全にウェブサイトの認証システムに依存します。