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.

Articles relacionats