.NET HttpClient-Ufroen duerch e Proxy schécken
Konfiguréiert WebProxy op engem HttpClientHandler a vermeit ausgeschalte Proxyrouting oder eng Verbindung mam falsche Client.
D’Ufro muss den HttpClient benotzen, dee mat Ärem Proxyhandler gebaut gouf. En onofhängegt WebProxy-Objekt ze schafen ännert net d’Route vun engem anere 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());Ersetzt d’Dokumentatiounsadress duerch e richtegen HTTP-Proxy aus Ärem Service oder der HTTP-Proxy-Lëscht. Dës Top-Level-Syntax passt an e moderne C#-Konsolprojet; eeler Projete kënnen d’Instruktiounen an eng asynchron Main setzen.
Préift béid Handlereegenschaften: Proxy wielt den Endpunkt an UseProxy=true aktivéiert de Gebrauch. Funktionéiert den Endpunkt eleng, awer net an der Applikatioun, bestätegt datt kee Code UseProxy ausschalt an den Opruff dës Instanz benotzt. Den eegene Handler vermeit Ofhängegkeet vun der Proxyerkennung am Prozess oder Betribssystem.
Wann de Proxyoperateur e Kont liwwert, weist e NetworkCredential der Eegenschaft WebProxy.Credentials zou. D’Authorization vum Site gehéiert zu engem anere Schrëtt; en ëffentlechen IP:port-Andrag liwwert keng Standard-Logininformatiounen. En http://-Lauschterer kann HTTPS duerch en Tunnel droen; haalt déi normal Zilverifikatioun bäi.
Dëse kuerze Programm gëtt Objete beim Enn fräi. Bei widderhuelte Serviceopriff befollegt d’.NET-Rotschléi iwwer d’Clientliewensdauer a behält Client/Handler fir d’Laascht, amplaz d’Verbindungspoolen pro Ufro nei opzebauen. Préift de Retourstatus: Eng funktionéierend Proxyroute kann nach ëmmer e Refus vum Site weiderginn.