C#开发可穿透代理服务器的WinForm应用

本文介绍了如何在C# WinForm应用中处理需要代理服务器的情况。当遇到远程服务器返回错误(407)需要代理身份验证的问题时,通过获取IE默认的代理设置,设置WebRequest的Proxy属性,并使用NetworkCredential提供用户名和密码,可以成功穿透代理服务器。文中提供了设置代理的方法和处理远程XML文件加载问题的示例代码。
摘要由CSDN通过智能技术生成
 
企业上网一般都是通过网关服务器,部分非自动的代理服务器需要手工设置 ( 就像 IE 需要在连接 - 局域网设置 - 代理器中的那样 ) ,前段为企业开发了一个需要远程访问 HTTP 服务器的应用,发现在手动代理的网络环境下,会在运行时 WebRequest 试图通过 GetResponse 获取 Response 对象时抛出: error: 远程服务器返回错误 : (407) 需要代理身份验证。    的错误,其实就是因为网络代理服务器验证失败被拒绝的缘故。
前段碰到这个问题,苦于自己没有这样的网络环境,最近正好在客户单位干活,就是用了代理服务器,所以就花了一会儿时间搞出来了,其实很简单:
1. 获取 IE 当前缺省的代理服务器信息 ( 物理上其实存储在 HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Internet Settings/ ProxyEnable ProxyServer) ,地址和端口号可以获取,但用户名和密码还是必须通过设置来获取
2. 设置 WebRequest Proxy 属性,绑定到有效的 Proxy 对象
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值