Eskaerak zure proxy-kudeatzailearekin eraikitako HttpClient erabili behar du. Loturarik gabeko WebProxy objektua sortzeak ez du beste bezero baten bidea aldatzen.

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

Ordeztu dokumentazio-helbidea zure zerbitzuko benetako HTTP proxyarekin edo HTTP proxyen zerrendako batekin. Goi-mailako sintaxi hau C# kontsola-proiektu moderno baterako egokia da; proiektu zaharrek instrukzioak Main asinkrono batean jar ditzakete.

Egiaztatu kudeatzailearen bi propietateak: Proxy aukerak amaierako puntua hautatzen du eta UseProxy=true aukerak erabilera gaitzen du. Puntuak bereizita funtzionatu baina aplikazioan ez badu, egiaztatu kodeak ez duela UseProxy desgaitzen eta deiak instantzia hau erabiltzen duela. Kudeatzaile bereziak prozesuaren edo sistema eragilearen aurkikuntzaren mendekotasuna saihesten du.

Proxyaren operadoreak kontua ematen duenean, esleitu NetworkCredential bat WebProxy.Credentials propietateari. Webgunearen Authorization beste jauzi bati dagokio, eta IP:port sarrera publikoak ez du saio-hasierako datu lehenetsirik ematen. http:// entzuleak HTTPS tunel bidez eraman dezake; mantendu helmugaren ohiko egiaztapena.

Programa labur honek irtetean objektuak askatzen ditu. Zerbitzu-dei errepikatuetarako, jarraitu .NETen bezeroaren bizitza-iraupenaren gidari eta gorde bezeroa/kudeatzailea lan-kargarako, eskaera bakoitzean konexio multzoak berreraiki ordez. Ikuskatu itzulitako egoera: proxy-bide egokiak ere webgunearen ukapena ekar dezake.

Erlazionatutako artikuluak