を使用してwget
異なる資格情報を使用してパスワードで保護された複数の領域を持つWebサイトをミラーリングするときに、複数のユーザー/パスワードのペアを提供できますか?
複数の保護領域を持つウェブサイト全体をミラーリングしたいと思います。簡単な例として、次の構造を考えてみましょう。
example.com/protected_area_1/ (user=alice, password=cat)
example.com/protected_area_2/ (user=bob, password=dog)
これで、パラメータと追加のパラメータを提供できるwget --mirror example.com
ようになりましたが、ユーザーとパスワードのペアのみを提供している場合、次のために両方の保護領域のいずれかをダウンロードできません。--user
--password
401 Authorization Required
似たようなことをする方法はありますかwget --user=alice --password=cat --user=bob --password=dog (...)
?自然言語で:パスワードで保護されたゾーンを見つけたら、順番に提供されるすべての資格情報を試してアクセスを試してください。
答え1
これを行う必要がある場合wget
:
ユーザー名/パスワードの組み合わせ数が少なくダウンロードサイズが大きくない場合は、各組み合わせに対してツリー全体を繰り返し実行(および
--user
使用--password
)して結果をマージできます。ドメインによってユーザー/パスワードの組み合わせが異なる場合は、
wget
オプションを試してみて、適切なタイミング--ask-password
でexpect
正しいオプションを使用できます。
より複雑なダウンロード状況の場合、私は常にwgetが処理できる基本認証以外のページの一部と他のログインシナリオをロードするためにJavaScriptを使用して現在の慣行を正しく処理する専用のセレンベースのプログラムを使用します。