C#开发可穿透代理服务器的WinForm应用(内容采集)_eddy_ruan的空间_百度空间
企业上网一般都是通过网关服务器,部分非自动的代理服务器需要手工设置(就像IE需要在连接-局域网设置-代理器中的那样),前段为企业开发了一个需要远程访问HTTP服务器的应用,发现在手动代理的网络环境下,会在运行时WebRequest试图通过GetResponse获取Response对象时抛出:error: 远程服务器返回错误: (407) 需要代理身份验证。   的错误,其实就是因为网络代理服务器验证失败被拒绝的缘故。
         public static void ProxySetting(WebRequest request)
         {
             WebProxy proxy = WebProxy.GetDefaultProxy();//
获取IE缺省设置
      //如果缺省设置为空,则有可能是根本不需要代理服务器,如果此时配置文件中也未配置则认为不需Proxy
      if (proxy.Address == null && Sys.ProxyAddress != null && Sys.ProxyAddress != "")
                 proxy.Address = new Uri(Sys.ProxyAddress);//
按配置文件创建Proxy 地置
             if (proxy.Address != null)//如果地址为空,则不需要代理服务器
             {
                 proxy.Credentials = new NetworkCredential(Sys.ProxyUser, Sys.ProxyKey);//
从配置封装参数中创建
                 request.Proxy = proxy;//
赋予 request.Proxy
             }
     <add key="ProxyAddress" value="" />
     <add key="ProxyUser" value="msuser" />
     <add key="ProxyKey" value="hello" />
                        htmlStream = new StreamReader(stream,System.Text.Encoding.Default,true);


郑重声明:资讯 【C#开发可穿透代理服务器的WinForm应用(内容采集)_eddy_ruan的空间_百度空间】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——