企业上网一般都是通过网关服务器,部分非自动的代理服务器需要手工设置
(
就像
IE
需要在连接
-
局域网设置
-
代理器中的那样
)
,前段为企业开发了一个需要远程访问
HTTP
服务器的应用,发现在手动代理的网络环境下,会在运行时
WebRequest
试图通过
GetResponse
获取
Response
对象时抛出:
error:
远程服务器返回错误
: (407)
需要代理身份验证。
的错误,其实就是因为网络代理服务器验证失败被拒绝的缘故。
前段碰到这个问题,苦于自己没有这样的网络环境,最近正好在客户单位干活,就是用了代理服务器,所以就花了一会儿时间搞出来了,其实很简单:
1.
获取
IE
当前缺省的代理服务器信息
(
物理上其实存储在
HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Internet Settings/
的
ProxyEnable
和
ProxyServer)
,地址和端口号可以获取,但用户名和密码还是必须通过设置来获取
2.
设置
WebRequest
的
Proxy
属性,绑定到有效的
Proxy
对象