开始写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, 0, 256 );
while (count > 0)

{
String str = new String(read, 0, count);
HTMLContent += str;
count = sr.Read(read, 0, 256);
}
OK,这样就完成了代码设置我们的代理,直接通过程序来访问IE内容了~~
但是最近打开工程一看,代码运行不正常,调试了一下,原来客户端代理被ITS封掉了
当然,MSDN上对于_HWR.Proxy = _WP;还有另外一个使用方式
GlobalProxySelection.Select = _WP;其实也就是设置全局的代理服务,不需要再一一设置,抓取页面数据就比较简单了。
OK,这样就完成了代码设置我们的代理,直接通过程序来访问IE内容了~~
本文介绍了一种通过设置HTTP代理的方式实现网页数据抓取的方法。在客户端代理被封禁的情况下,通过指定代理服务器名称、端口及认证信息,实现了对目标网站的成功访问。此外,还提到了设置全局代理的方法。
493

被折叠的 条评论
为什么被折叠?



