2011-09-25 143 views
3

我使用Http WebRequest和Vb.Net来下载内容。一切工作正常,但现在我有一个问题:使用Http WebRequest获取404错误页面内容?

我想下载该网站,该网站与内容的404错误页面的例子:http://www.boris-koch.de/404seiteyeah

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

回答

9

您可以通过Response属性访问的WebException内的WebResponse。例如,在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); 
      } 
     } 
    } 
}