NTLMで保護されたWebサイト全体をダウンロードしたいのですが、次の理由で失敗します。
HTTP-Anforderung gesendet, warte auf Antwort... 401 Unauthorized
Unbekanntes Authentifizierungsschema.
Authorisierung fehlgeschlagen.
これは私が使用するコマンドです:
# wget --http-user=expample.com/username --http-password='mypassword' http://example.com/ -v
ログイン資格情報は100%正確です。
# wget --version
GNU Wget 1.13.4 übersetzt unter linux-gnu.
+digest +https +ipv6 +iri +large-file +nls -ntlm +opie +ssl/gnutls
Wgetrc:
/root/.wgetrc (Benutzer)
/etc/wgetrc (System)
Lokale: /usr/share/locale
Übersetzt: gcc -DHAVE_CONFIG_H -DSYSTEM_WGETRC="/etc/wgetrc"
-DLOCALEDIR="/usr/share/locale" -I. -I../lib -I../lib
-D_FORTIFY_SOURCE=2 -Iyes/include -g -O2 -fstack-protector
--param=ssp-buffer-size=4 -Wformat -Werror=format-security
-DNO_SSLv2 -D_FILE_OFFSET_BITS=64 -g -Wall
Gebunden: gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat
-Werror=format-security -DNO_SSLv2 -D_FILE_OFFSET_BITS=64 -g -Wall
-Wl,-z,relro -Lyes/lib -lgnutls -lgcrypt -lgpg-error -lz -lidn -lrt
ftp-opie.o gnutls.o ../lib/libgnu.a
答え1
次のものと組み合わせてのみ--http-user
便利です。--http-passwd
基本認証ウェブサイト上で。
これはめったに使用されず、Webページの外側にユーザー名とパスワードの入力を求められ、サーバーに次のようなメッセージが表示されるため、簡単に認識されます。
サイトは、ユーザー名とパスワードを照会し、セッションに関する情報を保持するために他のスキーム(通常はCookieベースのスキーム)を使用する可能性があります。wget
これも処理できますが(マンページを確認して--save-session-cookie
検索load-cookies
)、次のようなものを使用して自動化する方が良いでしょう。セレン、実際のブラウザに作業を指示したり、プログラムでフィールドを埋めてボタンをクリックしたりできます。私の経験によれば、このアプローチはJavaScriptがたくさん挿入されたウェブサイトでも常に機能します。