C# 如何增加门户网站上的坏链接?

C# 如何增加门户网站上的坏链接?,c#,parsing,web,web-scraping,https,C#,Parsing,Web,Web Scraping,Https,我需要解析web门户上断开的链接(例如404)。它在门户上大约有10000页,还有很多外部链接。我在c#中使用HttpWebRequest下载页面html,然后在html中查找所有链接,并在checked groop中添加已检查的链接,并将未检查的链接队列用于检查。我使用多线程,但它没有什么优势。1线程-每分钟50链接,5线程-70。 我想,我的问题是我获取html代码的方式。我使用简单的HttpWebRequest获取html: ` ` 我的互联网-100mb/s。1页-150-200 kb。

我需要解析web门户上断开的链接(例如404)。它在门户上大约有10000页,还有很多外部链接。我在c#中使用HttpWebRequest下载页面html,然后在html中查找所有链接,并在checked groop中添加已检查的链接,并将未检查的链接队列用于检查。我使用多线程,但它没有什么优势。1线程-每分钟50链接,5线程-70。 我想,我的问题是我获取html代码的方式。我使用简单的HttpWebRequest获取html:

`

`

我的互联网-100mb/s。1页-150-200 kb。
我需要几次提高速度。有人知道答案吗

你的很多链接都指向同一个域吗?对同一主机的并发连接数有限制。这可以在app.config中覆盖(假设您是.net framework)

您的许多链接都指向同一个域吗?对同一主机的并发连接数有限制。这可以在app.config中覆盖(假设您是.net framework)

您好!欢迎来到堆栈溢出。感谢您发布详细问题,展示您已经尝试过的内容!:)也许只读取响应的头而不是完整响应?如果链接是外部的(不是来自主域),我只获取头。但我需要完整的响应来解析内部页面的html,以找到其他链接。您好!欢迎来到堆栈溢出。感谢您发布详细问题,展示您已经尝试过的内容!:)也许只读取响应的头而不是完整响应?如果链接是外部的(不是来自主域),我只获取头。但我需要完整的响应来解析内部页面的html以找到其他链接。是的,相同的域。但是在配置中添加连接没有帮助。是的,相同的域。但是在配置中添加连接没有帮助。
string html;
HttpWebResponse response;
StreamReader respStream;
try
{
        HttpWebRequest reques = (HttpWebRequest)WebRequest.Create(link.ToString());
        request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; rv:11.0) Gecko/20100101 Firefox/15.0";
        request.Accept = "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
        request.AllowAutoRedirect = true;
        response = (HttpWebResponse)request.GetResponse();
        respStream = new StreamReader(response.GetResponseStream());
        html = respStream.ReadToEnd();
        response.Close();
respStream.Close();
}
catch (Exception ex)
{
        System.Console.WriteLine("-------------\n" +
                "Bad link: " + link + "\n" +
                "From: " + link.Parent +
                "\n" + ex.Message);
        link.ErrorComments = ex.Message;
        link.Parent.AddSon(link);
        continue;
}
normalLinks.Add(link);