c# - checking if url is up and working, if it is to redirect to that url itself else if not working to redirect to another url -


नामस्थान WebApplication4 {सार्वजनिक आंशिक वर्ग _Default: System.Web.UI.Page {

  सार्वजनिक स्थिर बूल UrlIsValid (स्ट्रिंग यूआरएल) {bool br = false; कोशिश {आईपीहोस्ट एंट्री आईपीहोस्ट = डीएनएस। रिसोल (यूआरएल); Br = सच; } पकड़ (सॉकेट एक्सपैशन) {br = false; } वापसी br; } निजी शून्य पेज_लोड (ऑब्जेक्ट प्रेषक, इवेंटएआरजीएस ई) {string url = "http://www.srv123.com"; WebRequest wr = WebRequest.Create (url);  

का उपयोग करते हुए (एचटीटीपी वेब रिस्पॉन्स प्रतिक्रिया = (एचटीटीपी वेबबेंस) wr.GetResponse ()) {यदि (प्रतिक्रिया। स्टेटस कोड == एचटीटीपी स्टेटस। ओक) {response.Close ();

  प्रतिक्रिया। रीडायरेक्ट (यूआरएल); } Else {Response.Redirect ("http://www.yahoo.com"); }  

जब मैं Google देता हूं तो इसे Google पर रीडायरेक्ट किया जाता है, लेकिन जब मैं एक अमान्य यूआरएल भेजता हूं तो यह yahoo lik hw I hav को दियेगा। मैंने अपने urlIsValid को smtpHost नामक एक पैरामीटर ले लिया है, जो कि

सुझाव है कि यह SMTP मेल सर्वर के साथ काम करता है इसके भीतर, आप पूरे यूआरएल को मेजबाननाम के रूप में हल करने का प्रयास करते हैं। यह बस बिल्कुल काम नहीं करेगा।

आप यूआरएल के साथ एक नया उरी ऑब्जेक्ट बना सकते हैं, फिर एक WebRequest ऑब्जेक्ट बनाएं, देखें यहां उदाहरण:

  उरी साइटयूरी = नया उरी ("http://www.contoso.com/"); WebRequest wr = WebRequest.Create (साइटयूआरआई); // अब, सर्वर से यूआरएल का अनुरोध करने के लिए, यह मान्य है कि काम कर रहा है और (एचटीटीपी वेबबेस प्रतिक्रिया = (एचटीटीपी वेबबेंस) = wr.GetResponse ()) का उपयोग कर काम करता है {if (response.StatusCode == HttpStatusCode.OK) {// अगर कोड निष्पादन यहां मिलता है, यूआरएल वैध है और ऊपर / काम करता है} response.Close (); }  

उम्मीद है कि मदद करता है!


Comments