使用NTLM对受保护站点使用wget

Joe*_* V. 18 ntlm wget mirroring

尝试镜像本地Intranet站点,并使用'wget'找到以前的问题.它适用于匿名网站,但我无法在期望用户名\密码(具有集成Windows身份验证的IIS)的网站上使用它.

这是我传递的内容:

wget -c --http-user ='domain\user'-- http -password = pwd http:// local/site -dv

这是调试输出(注意我显然用虚拟值替换了一些):

Setting --verbose (verbose) to 1
DEBUG output created by Wget 1.11.4 on Windows-MSVC.

--2009-07-14 09:39:04--  http://local/site
Host `local' has not issued a general basic challenge.
Resolving local... seconds 0.00, x.x.x.x
Caching local => x.x.x.x
Connecting to local|x.x.x.x|:80... seconds 0.00, connected.
Created socket 1896.
Releasing 0x003e32b0 (new refcount 1).

---request begin---
GET /site/ HTTP/1.0
User-Agent: Wget/1.11.4
Accept: */*
Host: local
Connection: Keep-Alive

---request end---
HTTP request sent, awaiting response...
---response begin---
HTTP/1.1 401 Access Denied
Server: Microsoft-IIS/5.1
Date: Tue, 14 Jul 2009 13:39:04 GMT
WWW-Authenticate: Negotiate
WWW-Authenticate: NTLM
Content-Length: 4431
Content-Type: text/html

---response end---
401 Access Denied
Closed fd 1896
Unknown authentication scheme.
Authorization failed.

小智 10

在wget 1.11中破坏了NTLM身份验证,而是使用1.10.

  • 添加相关错误票证的链接在这里很有用 (4认同)

小智 8

实际上,Curl可能是从NTLM身份验证的Web服务器获取内容的更好工具.您可以使用以下命令获得与建议的wget命令行等效的函数:

curl --anyauth --user username:password http://someserver/site
Run Code Online (Sandbox Code Playgroud)


小智 2

我已经看到有关能够使用NTLM 授权代理服务器来解决这些类型的问题的参考。