د .NET HttpClient غوښتنې د پراکسي له لارې واستوئ
WebProxy په HttpClientHandler کې عیار کړئ او د پراکسي لارې له بند پاتې کېدو یا ناسم کلاینټ سره له تړلو ډډه وکړئ.
غوښتنه باید ستاسو د پراکسي 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 وساتئ. راستون شوی حالت وګورئ: کارکوونکې پراکسي لار هم د وېبپاڼې رد ځواب لېږدولی شي.