တောင်းဆိုမှုသည် သင့် proxy handler ဖြင့် ဆောက်ထားသော HttpClient ကို သုံးရမည်။ ဆက်စပ်မှုမရှိသော WebProxy object ဖန်တီးခြင်းက အခြား client လမ်းကြောင်းကို မပြောင်းပါ။

using System;
using System.Net;
using System.Net.Http;

var proxy = new WebProxy("http://203.0.113.10:8080")
{
    BypassProxyOnLocal = false
};

using var handler = new HttpClientHandler
{
    Proxy = proxy,
    UseProxy = true
};

using var client = new HttpClient(handler)
{
    Timeout = TimeSpan.FromSeconds(15)
};

using var response = await client.GetAsync("https://example.com/");
Console.WriteLine((int)response.StatusCode);
Console.WriteLine(await response.Content.ReadAsStringAsync());

မှတ်တမ်းလိပ်စာကို သင့်ဝန်ဆောင်မှု သို့မဟုတ် HTTP proxy စာရင်းမှ တကယ့် HTTP proxy ဖြင့် အစားထိုးပါ။ ဤ top-level syntax သည် ခေတ်မီ C# console ပရောဂျက်အတွက် သင့်တော်သည်။ အဟောင်းများတွင် statement များကို asynchronous Main ထဲ ထည့်နိုင်သည်။

Handler property နှစ်ခုလုံးကို စစ်ပါ။ Proxy က endpoint ရွေးပြီး UseProxy=true က အသုံးပြုမှု ဖွင့်ပေးသည်။ Endpoint က သီးခြားအလုပ်လုပ်ပြီး အက်ပ်တွင်မလုပ်လျှင် ကုဒ်က UseProxy မပိတ်ကြောင်းနှင့် call က ယခု instance ကို သုံးကြောင်း အတည်ပြုပါ။ သီးသန့် handler သည် process သို့မဟုတ် OS ၏ proxy ရှာဖွေမှုအပေါ် မမှီခိုစေပါ။

Proxy လည်ပတ်သူက အကောင့်ပေးလျှင် NetworkCredential ကို WebProxy.Credentials property တွင် သတ်မှတ်ပါ။ ဝဘ်ဆိုက် Authorization က အခြားအဆင့်အတွက် ဖြစ်ပြီး အများသုံး IP:port စာရင်းဝင်က default login မပေးပါ။ http:// listener သည် tunnel ဖြင့် HTTPS သယ်နိုင်သည်။ ပုံမှန်ဦးတည်ရာစစ်ဆေးမှု ထားပါ။

ဤတိုတောင်းသောပရိုဂရမ်က ထွက်ချိန်တွင် object များ လွှတ်ပေးသည်။ ထပ်တလဲလဲ service call များအတွက် .NET client lifetime လမ်းညွှန်အတိုင်း လုပ်ပြီး တောင်းဆိုမှုတစ်ခုစီ connection pool ပြန်မဆောက်ဘဲ workload အတွက် client/handler ကို ထိန်းထားပါ။ ပြန်လာသော status ကို စစ်ပါ။ အလုပ်လုပ်သော proxy လမ်းကြောင်းပင် ဝဘ်ဆိုက်ငြင်းပယ်မှုကို သယ်လာနိုင်သည်။

ဆက်စပ်ဆောင်းပါးများ