wget: 401 不承認

wget: 401 不承認

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がたくさん挿入されたウェブサイトでも常に機能します。

関連情報