2013-03-08 1 views
10

HTMLページを取得して文字列として返すこの簡単な関数があります。 404を取得することもありますが、要求が成功した場合にのみHTML文字列を返すことができます。たとえば、404またはその他のエラーステータスコードの場合は、BadRequestのようなものを返します。Webレスポンスステータスコード

public static string GetPageHTML(string link) 
{ 
    using (WebClient client= new WebClient()) 
    { 
     return client.DownloadString(link); 
    } 
} 
+2

「WebException」を取得します。 –

答えて

23

あなたはWebExceptionをキャッチできます。もちろん

public static string GetPageHTML(string link) 
{ 
    try 
    { 
     using (WebClient client = new WebClient()) 
     { 
      return client.DownloadString(link); 
     } 
    } 
    catch (WebException ex) 
    { 
     var statusCode = ((HttpWebResponse)ex.Response).StatusCode; 
     return "An error occurred, status code: " + statusCode; 
    } 
} 

呼び出し元のコードでは、この例外をキャッチしても、代わりのtry/catchを置くのHTMLを解析しようとしないために、より適切であろう関数自体の中で。

関連する問題