为什么HttpWebRequest多线程并发访问总是会被阻塞

newlive001 newlive001 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
一直以来好好的,可是今天 突然不行了,好像 杀毒软件NOD32自动更新后出现的症状,百思不得其解,现在将NOD32清除干净了还是无法还原,
有一个抓取程序 使用HttpWebRequest多线程抓取网页, 全部HttpWebRequest被阻塞直到访问超进,服务器的带宽很好的,而且被访问的网站是超快的,如果改成单线程症状消失,如果改成哪怕2个线程也会被阻塞到超时,也就是说我的程序如果用HttpWebRequest开多个线程下载网页将莫名奇妙被访问超时. 一直以来都是好好的

有没有遇到同样问题的朋友
核心 代码 一直被阻塞的代码

public virtual string GetHtmlCode(string url)
{
try
{

HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);

req.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; Alexa Toolbar; .NET CLR 2.0.50727)";
req.Timeout = 100 * 1000;
HttpWebResponse webResponse = (HttpWebResponse)req.GetResponse();

Stream stream = webResponse.GetResponseStream();
StreamReader streamReader = new StreamReader(stream, this.HtmlEncoding);
result = streamReader.ReadToEnd();
streamReader.Close();
webResponse.Close();
}
catch (Exception exp)
{

Log.AddSystemException(exp);

}
}

...全文

相关推荐

评论 3
收藏 已收藏
分享
返回顶部
newlive001
C# 111,129 成员 642,539 内容