.NET WebProxy के लिए स्पष्ट क्रेडेंशियल
.NET WebProxy बनाते समय क्रेडेंशियल स्पष्ट रूप से असाइन करें, यह मानने के बजाय कि क्रेडेंशियल वाला URI उसका खाता भर देता है।
किसी URI में उसके होस्ट से पहले username:password हो सकता है। इसका यह अर्थ नहीं है कि उस URI को स्वीकार करने वाला प्रत्येक .NET API उपयोगकर्ता जानकारी को किसी प्रमाणीकरण ऑब्जेक्ट में कॉपी करता है।
WebProxy सीधे बनाते समय क्रेडेंशियल का असाइनमेंट स्पष्ट करें:
var proxy = new WebProxy("http://203.0.113.10:8080")
{
Credentials = new NetworkCredential(proxyUser, proxyPassword)
};एंडपॉइंट और खाता चर उदाहरण के लिए हैं। इससे गंतव्य पता, प्रॉक्सी पता और प्रॉक्सी खाता अलग रहते हैं।
यदि कोई इनपुट फ़ॉर्मेट क्रेडेंशियल वाला URL देता है, तो उसकी उपयोगकर्ता जानकारी को जानबूझकर पार्स करें। कोलन वाला पासवर्ड केवल क्रेडेंशियल विभाजक पर विभाजित करके सुरक्षित रखें, और एन्कोडेड घटकों को उचित चरण पर डिकोड करें। उस पार्सर का निदान करते समय मूल URL प्रिंट करने से बचें।
पर्यावरण सेटिंग के रूप में काम करने वाला प्रॉक्सी URL किसी अन्य कंस्ट्रक्टर में पास किए जाने पर अलग व्यवहार कर सकता है। पर्यावरण-प्रॉक्सी इनिशियलाइज़ेशन का अपना पार्सिंग लॉजिक है; यह वादा नहीं है कि प्रत्येक कंस्ट्रक्टर समान फ़ील्ड उपयोग करता है।
अंत में, कॉन्फ़िगर किए गए प्रॉक्सी ऑब्जेक्ट को उस हैंडलर पर सेट करें जो अनुरोध निष्पादित करता है। अप्रयुक्त WebProxy पर सही क्रेडेंशियल कनेक्शन को प्रभावित नहीं कर सकते।