የ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 ሃንድለር ይመድቡ። ነገሩን ብቻ መፍጠር የሌላ ደንበኛ የመንገድ ፖሊሲ አይለውጥም።

ተዛማጅ ጽሑፎች