我想下载受 NTLM 保护的整个网站,但失败并显示:
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
与结合使用才有用基本身份验证在网站上。
这很少使用并且很容易被识别,因为在网页之外会提示用户名和密码,要求输入用户名和密码,并提示服务器说: 。
该站点很可能使用其他一些方案来查询用户名和密码并为会话保留该信息(通常是一些基于 cookie 的方案)。wget
也可以处理这个问题(查看手册页并搜索--save-session-cookie
和load-cookies
),但您可能最好使用类似的东西来自动执行此操作硒,您可以在其中告诉真正的浏览器来完成工作,也可以在其中以编程方式填写字段并单击按钮。根据我的经验,即使对于大量注入 javascript 的网站,这种方法也始终有效。