It fersyk moat de HttpClient brûke dy’t mei jo proxyhandler makke is. In lossteand WebProxy-objekt oanmeitsje feroaret de rûte fan in oare kliïnt net.

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());

Ferfang it dokumintaasjeadres troch in echte HTTP-proxy fan jo tsjinst of út de list mei HTTP-proxy’s. Dizze topnivosyntaksis past by in modern C#-konsoleprojekt; âldere projekten kinne de ynstruksjes yn in asynchrone Main sette.

Kontrolearje beide handlereigenskippen: Proxy kiest it einpunt en UseProxy=true set it gebrûk oan. As it einpunt apart wurket mar net yn de applikaasje, befêstigje dan dat gjin koade UseProxy útskeakelt en de oprop dizze ynstânsje brûkt. De eigen handler foarkomt ôfhinklikens fan proxy-ûntdekking troch it proses of bestjoeringssysteem.

As de proxybehearder in akkount jout, wiis in NetworkCredential ta oan de eigenskip WebProxy.Credentials. De Authorization fan de webside heart by in oare stap; in iepenbiere IP:port-fermelding jout gjin standertynlochgegevens. In http://-listener kin HTTPS fia in tunnel drage; behâld de normale kontrôle fan de bestimming.

Dit koarte programma jout objekten by it ôfsluten frij. Folgje foar werhelle tsjinstoproppen de .NET-rjochtlinen foar de libbensdoer fan de kliïnt en behâld kliïnt/handler foar de wurklast ynstee fan by elk fersyk de ferbiningspools wer op te bouwen. Besjoch de weromjûne status: in wurkjende proxyrûte kin noch altyd in wegering fan de webside trochjaan.

Relatearre artikelen