Senda .NET HttpClient-beiðnir um staðgengil
Stilltu WebProxy á HttpClientHandler og forðastu óvirka staðgengilsleið eða tengingu við rangan biðlara.
Beiðnin verður að nota HttpClient sem var búinn til með staðgengilsmeðhöndlaranum þínum. Að búa til ótengt WebProxy-hlut breytir ekki leið annars biðlara.
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());Skiptu dæmisvistfanginu út fyrir raunverulegan HTTP-staðgengil úr þjónustunni þinni eða af HTTP-staðgenglalistanum. Þessi efsta stigs setningafræði hentar nútíma C#-stjórnborðsverkefni; eldri verkefni geta sett skipanirnar í ósamstillt Main.
Athugaðu báða eiginleika meðhöndlarans: Proxy velur endapunktinn og UseProxy=true virkjar notkun hans. Ef endapunkturinn virkar einn og sér en ekki í forritinu skaltu staðfesta að enginn kóði óvirki UseProxy og að kallið noti þetta tilvik. Sérstaki meðhöndlarinn kemur í veg fyrir að treysta á sjálfvirka greiningu staðgengils í ferli eða stýrikerfi.
Þegar rekstraraðili staðgengilsins gefur reikning skaltu úthluta NetworkCredential á eiginleikann WebProxy.Credentials. Authorization vefsíðunnar á við annað skref og opinber IP:port-færsla gefur engar sjálfgefnar innskráningarupplýsingar. http://-hlustari getur flutt HTTPS um göng; haltu venjulegri staðfestingu áfangastaðar.
Þetta stutta forrit losar hluti við lok. Við endurtekin þjónustuköll skaltu fylgja .NET-leiðbeiningum um líftíma biðlara og halda biðlara/meðhöndlara fyrir vinnuálagið fremur en að endurbyggja tengingasöfn fyrir hverja beiðni. Skoðaðu stöðuna sem skilað er: virk staðgengilsleið getur samt flutt höfnun frá vefsíðu.