Päring peab kasutama sinu puhverserverikäsitlejaga loodud HttpClient objekti. Eraldiseisva WebProxy objekti loomine ei muuda teise kliendi marsruuti.

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

Asenda dokumentatsiooniaadress oma teenuse päris HTTP-puhverserveri või HTTP-puhverserverite loendi kandidaadiga. See tipptaseme süntaks sobib moodsale C# konsooliprojektile; vanemates projektides võib laused panna asünkroonsesse Main meetodisse.

Kontrolli käsitleja mõlemat omadust: Proxy valib lõpp-punkti ja UseProxy=true lubab selle kasutamise. Kui lõpp-punkt töötab eraldi, kuid mitte rakenduses, kinnita, et kood ei lülita UseProxy välja ja väljakutse kasutab seda eksemplari. Oma käsitleja väldib sõltuvust puhverserveri tuvastamisest protsessi või operatsioonisüsteemi kaudu.

Kui puhverserveri haldaja annab konto, määra NetworkCredential omadusele WebProxy.Credentials. Veebisaidi Authorization puudutab teist hüpet ja avalik IP:port-kirje ei anna vaikimisi sisselogimisandmeid. http:// kuulaja saab HTTPS-i tunnelis kanda; säilita tavaline sihtkoha kontroll.

See lühike programm vabastab objektid väljumisel. Korduvatel teenusekutsetel järgi .NETi kliendieluea juhiseid ning hoia klienti/käsitlejat töökoormuse jaoks alles, mitte ära loo ühenduspuule iga päringuga uuesti. Uuri tagastatud olekut: toimiv puhverserveritee võib siiski vahendada veebisaidi keeldumist.

Seotud artiklid