2011-09-25 67 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); 
      } 
     } 
    } 
}