Dërgoni kërkesa .NET HttpClient përmes një proxy
Konfiguroni WebProxy në HttpClientHandler dhe shmangni rrugën proxy të çaktivizuar ose lidhjen me klientin e gabuar.
Kërkesa duhet të përdorë HttpClient të ndërtuar me handler-in tuaj të proxy-t. Krijimi i një objekti WebProxy pa lidhje nuk ndikon në rrugën e klientit tjetër.
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());Zëvendësoni adresën e dokumentacionit me proxy HTTP real nga shërbimi juaj ose lista e proxy-ve HTTP. Kjo sintaksë e nivelit të lartë i përshtatet një projekti modern console C#; projektet më të vjetra mund t’i vendosin udhëzimet në një Main asinkron.
Kontrolloni të dyja vetitë e handler-it: Proxy zgjedh pikën fundore dhe UseProxy=true aktivizon përdorimin. Nëse pika punon veçmas, por jo në aplikacion, konfirmoni se kodi nuk çaktivizon UseProxy dhe thirrja përdor këtë instancë. Handler-i i posaçëm shmang varësinë nga zbulimi i proxy-t prej procesit ose sistemit operativ.
Kur operatori i proxy-t jep llogari, caktoni NetworkCredential te vetia WebProxy.Credentials. Authorization e faqes i shërben një hapi tjetër dhe një hyrje IP:port publike nuk jep të dhëna hyrjeje të parazgjedhura. Një dëgjues http:// mund të përcjellë HTTPS me tunel; ruani verifikimin normal të destinacionit.
Ky program i shkurtër i liron objektet në dalje. Për thirrje të përsëritura shërbimi ndiqni udhëzimet .NET për jetëgjatësinë e klientit dhe mbajeni klientin/handler-in për ngarkesën, në vend që të rindërtoni grupet e lidhjeve për çdo kërkesë. Kontrolloni statusin e kthyer: një rrugë proxy funksionale mund të përcjellë përsëri refuzimin e faqes.