C# [C] 获取网站的源代码(404错误)

C# [C] 获取网站的源代码(404错误),c#,web,httpwebrequest,C#,Web,Httpwebrequest,我必须为一个学校项目获得大约1000个网站的源代码。我在for循环中使用httpwebrequest。但我的列表中有一半以上的网站返回404错误,因此无法找到该网站。当我用Chrome、Firefox或Internet Explorer浏览这个网站时,一切都很好 以下是获取源代码的代码: public string getSource(string url){ string urlAddress = url; HttpWebRequest request = (H

我必须为一个学校项目获得大约1000个网站的源代码。我在for循环中使用httpwebrequest。但我的列表中有一半以上的网站返回404错误,因此无法找到该网站。当我用Chrome、Firefox或Internet Explorer浏览这个网站时,一切都很好

以下是获取源代码的代码:

public string getSource(string url){
        string urlAddress = url;
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(urlAddress);
        HttpWebResponse response = (HttpWebResponse)request.GetResponse();
        if (response.StatusCode == HttpStatusCode.OK)
        {
            Stream receiveStream = response.GetResponseStream();
            StreamReader readStream = null;

            if (response.CharacterSet == null)
            {
                readStream = new StreamReader(receiveStream);
            }
            else
            {
                readStream = new StreamReader(receiveStream, Encoding.GetEncoding(response.CharacterSet));
            }

            data = readStream.ReadToEnd();

            response.Close();
            readStream.Close();
        }
        return data;
    }

可能因为有1000多个网站,所以它无法工作?

对于许多网站,您可能必须将用户代理设置为已知浏览器,因为它们将拒绝来自未知浏览器的请求。在调用request.GetResponse之前,请尝试此操作

var agent = "Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US)";
request.Headers.Add("user-agent", agent);

嗯,当我使用这段代码时,我的程序只在文件的行中运行,而没有下载源代码。也许你应该给我们一些成功的和失败的URL来检查。