我正在为我们的应用程序测试一些代理设置,但我需要测试需要Windows身份验证(或网络凭据)的代理。
为了进行测试,我将代理的凭据分配给网络凭据
System.Net.WebProxy proxy = new System.Net.WebProxy("127.0.0.1", 8888);
proxy.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;
//proxy.Credentials = new System.Net.NetworkCredential("1", "1");
System.Net.WebRequest.DefaultWebProxy = proxy;
目前,我使用Fiddler并启用了Require Proxy Authentication
规则。如何配置Fiddler以便我可以使用Windows凭据而不是默认的“1”/“1”凭证?
答案 0 :(得分:36)
在Fiddler 4.6中我可以打开Composer下的“自动验证” - >选项。然后成功调用使用Windows身份验证在IIS中托管的WebAPI。您可以在日志中看到三个请求进行单个呼叫。
HTTP/1.1 401 Unauthorized
Cache-Control: private
Content-Type: text/html; charset=utf-8
Server: Microsoft-IIS/10.0
WWW-Authenticate: Negotiate
WWW-Authenticate: NTLM
HTTP/1.1 401 Unauthorized
Content-Type: text/html; charset=us-ascii
Server: Microsoft-HTTPAPI/2.0
WWW-Authenticate: Negotiate oYIBDTCCAQ...
Date: Mon, 18 Jan 2016 09:38:22 GMT
Content-Length: 341
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Expires: -1
Server: Microsoft-IIS/10.0
X-AspNet-Version: 4.0.30319
Persistent-Auth: true
WWW-Authenticate: Negotiate oRsw...
Date: Mon, 18 Jan 2016 09:38:22 GMT
Content-Length: 4
答案 1 :(得分:6)
你不能轻易地用Fiddler这样做;您需要自己计算凭证质询,并在使用Proxy-Authenticate:Negotiate标头返回HTTP / 407响应后在响应标头中添加质询。
相比之下,单个响应头很容易支持BASIC身份验证,这就是Fiddler的“需要代理身份验证”功能的工作方式。
答案 2 :(得分:1)
WebMarshal是一个在Windows上运行的Web代理。它可以配置为使用基本身份验证和NTLM身份验证。你可以download a free trial。