غوښتنه باید ستاسو د پراکسي handler سره جوړ شوی HttpClient وکاروي. د یوه بې‌اړیکې WebProxy شي جوړول د بل کلاینټ لار نه بدلوي.

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 پراکسي لېست په اصلي HTTP پراکسي بدله کړئ. دا د لوړې کچې syntax د اوسني C# کنسول پروژې لپاره مناسب دی؛ زړې پروژې جملې په asynchronous Main کې ایښودلی شي.

د handler دواړه ځانګړنې وګورئ: Proxy پای‌ټکی غوره کوي او UseProxy=true یې کارول فعالوي. که پای‌ټکی جلا کار کوي خو په اپ کې نه، تایید کړئ چې کوډ UseProxy نه بندوي او غوښتنه همدا نمونه کاروي. ځانګړی handler د پروسې یا OS د پراکسي موندلو پر تګلارې تکیه نه کوي.

کله چې د پراکسي چلوونکی حساب درکوي، NetworkCredential د WebProxy.Credentials ځانګړنې ته وټاکئ. د وېبپاڼې Authorization د بل ګام لپاره دی او عامه IP:port کرښه د ننوت ډیفالټ معلومات نه ورکوي. د http:// اورېدونکی HTTPS د تونل له لارې وړلی شي؛ د موخې عادي تایید وساتئ.

دا لنډ پروګرام د وتلو پر مهال شيان ازادوي. د تکراري خدمت غوښتنو لپاره د .NET د کلاینټ عمر لارښوونې تعقیب کړئ او د هرې غوښتنې لپاره د اړیکو حوضونو د بیا جوړولو پر ځای د کار بار لپاره کلاینټ/handler وساتئ. راستون شوی حالت وګورئ: کارکوونکې پراکسي لار هم د وېبپاڼې رد ځواب لېږدولی شي.

اړوندې مقالې