2013-03-08 12 views
10

मेरे पास HTML पृष्ठ प्राप्त करने और इसे एक स्ट्रिंग के रूप में वापस करने के लिए यह सरल कार्य है; हालांकि कभी-कभी मुझे 404 मिलते हैं। अनुरोध केवल सफल होने पर ही मैं केवल HTML स्ट्रिंग को वापस कैसे कर सकता हूं, और BadRequest जैसे कुछ वापस लौटा सकता हूं जब यह 404 या कोई अन्य त्रुटि स्थिति कोड है?वेब प्रतिक्रिया स्थिति कोड

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

'वेबएक्सप्शन' को पकड़ें देखें कि क्या वापसी है .. –

उत्तर

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; 
    } 
} 

बेशक यह अधिक उचित होगा बुला कोड में इस अपवाद को पकड़ने के लिए और यहां तक ​​कि एचटीएमएल पार्स करने का प्रयास ट्राई/कैच डाल नहीं के बजाय समारोह में ही।

संबंधित मुद्दे