Send .NET HttpClient-umbønir gjøgnum ein proxy
Set WebProxy á ein HttpClientHandler og slepp undan sløktari proxy-leiðing ella at knýta hana at skeivum klienti.
Umbønin má nýta tann HttpClient, sum er bygdur við tínum proxy-handleri. At gera ein ótengdan WebProxy-lut broytir ikki leiðina hjá einum øðrum klienti.
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());Skift skjalfestingaradressuna út við ein veruligan HTTP-proxy úr tíni tænastu ella av listanum við HTTP-proxyum. Henda toppstigs-syntax hóskar til eina nútímans C#-konsolverkætlan; eldri verkætlanir kunnu seta boðini í eina asynkrona Main.
Kanna báðar eginleikarnar hjá handlerinum: Proxy velur endapunktið og UseProxy=true virkjar nýtsluna. Virkar endapunktið fyri seg, men ikki í forritinum, vátta at eingin kota sløkkir UseProxy og at kallið nýtir hesa instans. Ein serstakur handler sleppur undan at dúva upp á proxy-leiting hjá tilgongdini ella stýriskipanini.
Tá proxy-rekarin gevur eina kontu, set eina NetworkCredential á eginleikan WebProxy.Credentials. Authorization hjá heimasíðuni er til eitt annað stig, og ein almenn IP:port-postering gevur onga standardinnriting. Ein http://-lurtari kann bera HTTPS gjøgnum tunil; varðveit vanliga váttan av málinum.
Hetta stutta forritið leysgevur lutir við enda. Til endurtikin tænastukall skalt tú fylgja .NET-leiðbeining um livitíð hjá klienti og varðveita klient/handler til arbeiðsbyrðuna heldur enn at byggja sambindingarsøvnini av nýggjum fyri hvørja umbøn. Kanna afturkomna statusin: ein virkin proxy-leið kann framvegis bera eina noktan frá heimasíðuni.