Førespurnaden må bruke den HttpClient som er laga med proxyhandteraren din. Eit urelatert WebProxy-objekt endrar ikkje ruta til ein annan klient.

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

Byt dokumentasjonsadressa med ein ekte HTTP-proxy frå tenesta di eller HTTP-proxylista. Denne toppnivåsyntaksen passar til eit moderne C#-konsollprosjekt; eldre prosjekt kan leggje setningane i ein asynkron Main.

Kontroller begge eigenskapane til handteraren: Proxy vel endepunktet og UseProxy=true slår på bruken. Verkar endepunktet for seg, men ikkje i programmet, stadfest at ingen kode slår av UseProxy og at kallet brukar denne instansen. Ein eigen handterar unngår avhengigheit av oppdaging gjennom prosessen eller operativsystemet.

Når proxyoperatøren gjev ein konto, tildel ein NetworkCredential til eigenskapen WebProxy.Credentials. Authorization for nettstaden gjeld eit anna hopp, og ei offentleg IP:port-oppføring gjev ingen standard påloggingsopplysningar. Ein http://-lyttar kan frakte HTTPS gjennom ein tunnel; hald på vanleg målverifisering.

Dette korte programmet frigjer objekt når det sluttar. Ved gjentekne tenestekall skal du følgje .NET-rettleiinga om klientlevetid og halde på klient/handterar for arbeidsmengda i staden for å byggje tilkoplingspoolane på nytt per førespurnad. Kontroller returstatusen: Ein fungerande proxyveg kan framleis formidle ei avvising frå nettstaden.

Relaterte artiklar