Enviar peticions de .NET HttpClient mitjançant un servidor intermediari
Configura WebProxy en un HttpClientHandler i evita l’encaminament desactivat o l’associació al client equivocat.
La petició ha d’utilitzar el HttpClient creat amb el teu gestor de servidor intermediari. Crear un objecte WebProxy independent no canvia la ruta d’un altre client.
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());Substitueix l’adreça de documentació per un servidor intermediari HTTP real del servei o de la llista de servidors intermediaris HTTP. Aquesta sintaxi de nivell superior serveix per a un projecte de consola C# modern; els projectes antics poden posar les instruccions en un Main asíncron.
Comprova les dues propietats del gestor: Proxy selecciona el punt final i UseProxy=true n’habilita l’ús. Si el punt funciona per separat però no a l’aplicació, confirma que cap codi desactivi UseProxy i que la crida utilitzi aquesta instància. El gestor dedicat evita dependre de la detecció del procés o del sistema operatiu.
Quan l’operador proporciona un compte, assigna un NetworkCredential a la propietat WebProxy.Credentials. L’Authorization del lloc web correspon a un altre salt, i una entrada IP:port pública no proporciona credencials predeterminades. Un punt d’escolta http:// pot transportar HTTPS per túnel; mantén la verificació normal de la destinació.
Aquest programa curt allibera els objectes en sortir. Per a crides de servei repetides, segueix les recomanacions .NET sobre la vida del client i conserva el client/gestor per a la càrrega, en lloc de reconstruir els pools de connexions en cada petició. Revisa l’estat retornat: una ruta funcional encara pot transportar un rebuig del lloc web.