很久之前写的一个代码,用来获取某论坛的内容,其实也就类似一个采集程序
最近突然发现用不了
情况为在获取HTML的时候只能得到一个Forbidden或者403错误
但是用IE访问该网站是正常的
同时该网站的其他页面也都可以正常获取
因此排出了服务器的相关因素,
剩下的也就是论坛程序的问题
联想到该论坛前段时间遭到DDOS攻击,而论坛采用的又是PHPWIND程序
该程序有一个CC攻击防护的选项
其实所谓CC攻击防护也就是检查了头域的User-Agent用户信息部分
以前为了省事没写,故被程序认为是机器人或者非法访问
原代码:
WebClient wc
=
new
WebClient();
wc.Credentials
=
CredentialCache.DefaultCredentials;
Stream resStream
=
wc.OpenRead(web);
StreamReader sr
=
new
StreamReader(resStream, System.Text.Encoding.Default);
code
=
sr.ReadToEnd();
resStream.Close();
更改代码:
WebClient wc
=
new
WebClient();
wc.Credentials
=
CredentialCache.DefaultCredentials;
wc.Headers.Set(
"
User-Agent
"
,
"
Microsoft Internet Explorer
"
);
//
增加的代码
Stream resStream
=
wc.OpenRead(web);
StreamReader sr
=
new
StreamReader(resStream, System.Text.Encoding.Default);
code
=
sr.ReadToEnd();
resStream.Close();