关于用ASP.NET获取别的网页的HTML代码

很久之前写的一个代码,用来获取某论坛的内容,其实也就类似一个采集程序

最近突然发现用不了

情况为在获取HTML的时候只能得到一个Forbidden或者403错误

但是用IE访问该网站是正常的

同时该网站的其他页面也都可以正常获取

因此排出了服务器的相关因素,

剩下的也就是论坛程序的问题

联想到该论坛前段时间遭到ddos攻击,而论坛采用的又是PHPWIND程序

该程序有一个cc攻击防护的选项

其实所谓CC攻击防护也就是检查了头域的User-Agent用户信息部分

以前为了省事没写,故被程序认为是机器人或者非法访问

原代码:

关于用ASP.NET获取别的网页的HTML代码            WebClient wc = new WebClient();
关于用ASP.NET获取别的网页的HTML代码            wc.Credentials 
= CredentialCache.DefaultCredentials;
关于用ASP.NET获取别的网页的HTML代码            Stream resStream 
= wc.OpenRead(web);
关于用ASP.NET获取别的网页的HTML代码            StreamReader sr 
= new StreamReader(resStream, System.Text.Encoding.Default);
关于用ASP.NET获取别的网页的HTML代码            code 
= sr.ReadToEnd();
关于用ASP.NET获取别的网页的HTML代码            resStream.Close();

更改代码:

关于用ASP.NET获取别的网页的HTML代码            WebClient wc = new WebClient();
关于用ASP.NET获取别的网页的HTML代码            wc.Credentials 
= CredentialCache.DefaultCredentials;
关于用ASP.NET获取别的网页的HTML代码            wc.Headers.Set(
User-AgentMicrosoft Internet Explorer);//增加的代码
关于用ASP.NET获取别的网页的HTML代码
            Stream resStream = wc.OpenRead(web);
关于用ASP.NET获取别的网页的HTML代码            StreamReader sr 
= new StreamReader(resStream, System.Text.Encoding.Default);
关于用ASP.NET获取别的网页的HTML代码            code 
= sr.ReadToEnd();
关于用ASP.NET获取别的网页的HTML代码            resStream.Close();

原文链接:https://www.cnblogs.com/qyz123/archive/2007/04/27/730087.html

原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/22065

(0)
上一篇 2023年12月26日 20:41
下一篇 2023年12月26日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

优速盾注册领取大礼包www.cdnb.net
/sitemap.xml