C#编程访问代理服务器

来源:互联网 发布:手机淘宝怎么联系小二 编辑:程序博客网 时间:2024/06/05 21:09
开始写Blog读取工具时一直是直接访问,访问方式也比较简单: 

WebRequest _HWR = WebRequest.CreateDefault(new System.Uri(URL)); 
 
WebResponse _HRS 
= _HWR.GetResponse() ; 
 
Stream ReceiveStream 
= _HRS.GetResponseStream();

但是最近打开工程一看,代码运行不正常,调试了一下,原来客户端代理被ITS封掉了,只得去查找设置代理访问的方法,原来代码很简单,只需要加入下面代码即可。 

WebProxy _WP = new WebProxy(ProxyName,ProxyPort); 
            _WP.BypassProxyOnLocal 
= true
            ICredentials credentials 
= new NetworkCredential(UserName,UserKey,DomainName); 
            _WP.Credentials 
= credentials; 
 
            WebRequest _HWR 
= WebRequest.CreateDefault(new System.Uri(URL)); 
            _HWR.Proxy 
= _WP; 
            WebResponse _HRS 
= _HWR.GetResponse() ;

当然,MSDN上对于_HWR.Proxy = _WP;还有另外一个使用方式 
GlobalProxySelection.Select = _WP;其实也就是设置全局的代理服务,不需要再一一设置,抓取页面数据就比较简单了。 

Encoding encode = System.Text.Encoding.Default; 
            StreamReader sr 
= new StreamReader( ReceiveStream, encode ); 
             
            
string HTMLContent = ""
             
            Char[] read 
= new Char[256]; 
            
int count = sr.Read( read, 0256 ); 
            
while (count > 0)  
            

                String str 
= new String(read, 0, count); 
                HTMLContent 
+= str; 
                count 
= sr.Read(read, 0256); 
            }

OK,这样就完成了代码设置我们的代理,直接通过程序来访问IE内容了~~
原创粉丝点击