5

के लिए HTTP प्रॉक्सी त्रुटि का पता लगाएं कि वेब प्रॉक्सी त्रुटि वेब प्रॉक्सी त्रुटि के कारण विफल हुई है और लक्ष्य वेब सर्वर त्रुटि नहीं है?WebRequest

try 
{ 
    var request = (HttpWebRequest)WebRequest.Create("http://www.example.com"); 
    request.Proxy = new WebProxy("localhost"); 
    var response = request.GetResponse(); 

    return response.GetResponseStream(); 
} 
catch(WebException webex) 
{ 
    //Detect proxy failure 
} 

उत्तर

3

यह मुश्किल है। यहां कुछ सुझाव दिए गए हैं:

  • webex.Response.ResponseUri संपत्ति में उस सर्वर के बजाय आपके प्रॉक्सी सर्वर का यूआरआई शामिल है जिसे आप संपर्क करने का प्रयास कर रहे थे।
  • webex.Response.StatusCode संपत्ति एक है जो हमेशा प्रॉक्सी समस्या का संदर्भ देती है, उदा। ProxyAuthenticationRequired। दुर्भाग्यवश अधिकांश स्थितियां या तो प्रॉक्सी त्रुटि या सर्वर त्रुटि का संदर्भ दे सकती हैं।
  • webex.Response.Headers संग्रह में गैर-मानक प्रविष्टियां हैं जिन्हें आप अपने प्रॉक्सी सर्वर द्वारा जेनरेट करने के रूप में पहचानते हैं। उदाहरण के लिए, स्क्विड प्रॉक्सी हेडर "X-Squid-Error" को अपने स्वयं के स्वामित्व सेट के साथ देता है।
  • webex.Response.ResponseStream स्ट्रीम में एक प्रारूप में एक HTML या सादा पाठ त्रुटि संदेश होता है जिसे आप अपने प्रॉक्सी सर्वर द्वारा जेनरेट करने के रूप में पहचानते हैं। आप यह देखने के लिए परीक्षण कर सकते हैं कि इसमें आपके प्रॉक्सी सर्वर का यूआरआई है या नहीं।

अपने कैच ब्लॉक में, सुनिश्चित करें कि आप ऊपर उल्लिखित सभी गुणों सहित WebException ऑब्जेक्ट का पूरा विवरण लॉग इन करें। फिर आप लॉग डेटा का विश्लेषण कर सकते हैं और प्रॉक्सी त्रुटियों के लिए एक सटीक परीक्षण विकसित कर सकते हैं।

1

मुझे लगता है कि आप अवैधऑपरेशन अपवाद पकड़ सकते हैं और फिर "प्रॉक्सी" के लिए संदेश देख सकते हैं।

संदेश कहेंगे:

प्रॉक्सी नाम हल नहीं किया जा सकता है: 'स्थानीय होस्ट'

+0

हां, विशिष्ट कीवर्ड की जांच करना, जैसे कि "प्रॉक्सी" या अपवाद संदेश में वास्तविक प्रॉक्सी पता एक विकल्प होगा, लेकिन मैं कुछ "अधिक निर्धारक" – AlexMinza

+0

की तलाश में था, हाँ, यह सबसे अच्छा दृष्टिकोण नहीं है, हालांकि वे एक अवैधऑपरेशन अपवाद फेंकते हैं , और इसलिए आपको बहुत कुछ प्रदान नहीं करते हैं! –

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