WebProxy को URI कन्स्ट्रक्टरले एउटा अन्त्य बिन्दु छान्छ; यसले त्यो URI को प्रयोगकर्ता जानकारीबाट Credentials भर्दैन। अनुप्रयोगद्वारा प्रमाणित HTTP प्रोक्सी URL का लागि:

var uri = new Uri(proxyUrl);
var endpoint = new UriBuilder(uri)
{
    UserName = "",
    Password = ""
};

var proxy = new System.Net.WebProxy(endpoint.Uri);

if (uri.UserInfo.Length > 0)
{
    var parts = uri.UserInfo.Split(new[] { ':' }, 2);
    var username = Uri.UnescapeDataString(parts[0]);
    var password = parts.Length == 2
        ? Uri.UnescapeDataString(parts[1])
        : "";

    proxy.Credentials =
        new System.Net.NetworkCredential(username, password);
}

proxyUrl दिइएको प्रोक्सी URL हो, वेबसाइट URL होइन। Uri ले यसको authority पद वर्णन गर्छ, जबकि UriBuilder ले WebProxy मा भण्डारण गरिएको अन्त्य बिन्दुबाट प्रयोगकर्ता जानकारी हटाउँछ।

घटकहरू डिकोड गर्नु अघि पहिलो शाब्दिक कोलनमा विभाजन गर्नुहोस्। यसले प्रयोगकर्ता नामभित्रको इन्कोड गरिएको कोलन जोगाइराख्छ र पासवर्डका थप कोलनहरू पासवर्डमै राख्छ। प्रत्येक घटक एकपटक मात्र डिकोड गर्नुहोस्; पासवर्डलाई Base64 मा इन्कोड नगर्नुहोस्, बरु URL एस्केपिङ प्रयोग गर्नुहोस्।

अन्तमा, ह्यान्डलरले अनुरोधहरू सुरु गर्नु अघि proxy लाई इच्छित HTTP ह्यान्डलरमा तोक्नुहोस्। मात्र वस्तु निर्माण गर्नाले अर्को क्लाइन्टको राउटिङ नीति परिवर्तन हुँदैन।

सम्बन्धित लेखहरू