使用Http WebRequest获取404错误页面内容?

时间:2011-09-25 20:45:13

标签: .net httpwebrequest http-status-code-404

我使用Http WebRequest和Vb.Net下载内容。一切都很好,但现在我有一个问题:

我想下载此网站,这是404错误页面的示例,内容为:http://www.boris-koch.de/404seiteyeah

但后来我得到了这个错误:“Webexception - 404”。我无法读取页面的内容,因为响应无效。那么你知道如何处理它并获取404错误页面的内容吗? 非常感谢。 :)

1 个答案:

答案 0 :(得分:10)

您可以通过Response媒体访问WebResponse内的WebException 。那将有响应数据。例如,在C#中(VB代码将非常相似):

using System;
using System.IO;
using System.Net;

class Program
{
    static void Main(string[] args)
    {
        string url = "http://www.boris-koch.de/404seiteyeah";
        WebRequest req = WebRequest.Create(url);
        try
        {
            using (WebResponse response = req.GetResponse())
            {
                Console.WriteLine("Didn't expect to get here!");
            }
        }
        catch (WebException e)
        {
            WebResponse response = e.Response;
            using (StreamReader reader =
                        new StreamReader(response.GetResponseStream()))
            {
                string text = reader.ReadToEnd();
                Console.WriteLine(text);
            }
        }
    }
}