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
기본인증웹 사이트상에서.
이것은 거의 사용되지 않으며 웹 페이지 외부에서 사용자 이름과 비밀번호를 묻는 메시지가 표시되고 서버에 다음과 같이 묻는 메시지가 표시되기 때문에 쉽게 인식됩니다.
사이트는 사용자 이름과 비밀번호를 조회하고 세션에 대한 해당 정보를 유지하기 위해 다른 체계(보통 쿠키 기반 체계)를 사용할 가능성이 높습니다. wget
이것도 처리할 수 있지만(맨 페이지를 확인하고 --save-session-cookie
및 검색 load-cookies
) 다음과 같은 것을 사용하여 이를 자동화하는 것이 더 나을 것입니다.셀렌, 실제 브라우저에 작업을 지시하거나 프로그래밍 방식으로 필드를 채우고 버튼을 클릭할 수 있는 곳입니다. 내 경험에 따르면 이 접근 방식은 자바스크립트가 많이 삽입된 웹사이트에서도 항상 작동합니다.