【发布时间】:2013-02-01 16:11:50
【问题描述】:
我花了一些时间搜索此站点上的文章,以准确找到我想要完成的任务,但到目前为止还没有运气。我正在客户端应用程序中执行 Web 请求,我想确保它通过代理工作。我将 Fiddler2 设置为代理服务器进行测试,并强制它要求身份验证。
我基本上已经弄清楚了如何使用代理:
Dim proxy As IWebProxy = WebRequest.GetSystemWebProxy()
webService.Proxy = proxy
我还尝试通过
获取代理的正确凭据 webService.Proxy.Credentials = System.Net.CredentialCache.DefaultCredentials
还可以将其添加到配置部分下的 app.config 中:
<system.net>
<defaultProxy useDefaultCredentials="true" />
</system.net>
两种情况我都得到相同的网络异常:
The request failed with HTTP status 407: Proxy Auth Required.
Fiddler2 的代理的用户名为 1,密码为 1,如果我以编程方式将这些作为凭据提供给请求,则请求将成功验证。但是,它无法像获取代理信息一样从 IE 获取凭据是有原因的吗?
Fiddler 的代理是否也是其工作方式的一个例外?使用 Windows 身份验证的普通代理是否适合我尝试获取凭据的方式,有什么方法可以轻松测试吗?
【问题讨论】:
-
首先我认为 WebRequest 使用 IE 代理是默认的。是不是?!您是否在没有自己定义代理的情况下尝试过?! (并在 Internet 选项中使用正确的代理设置)
-
是的,我也试过了,结果是一样的。我可以为用户添加一个表单来为我输入该信息,但对我来说,我能够以编程方式获取该信息是有意义的。
标签: .net vb.net web-services proxy fiddler