Credenciais explícitas para un WebProxy de .NET
Asigne as credenciais explicitamente ao construír un WebProxy de .NET en lugar de supor que un URI con credenciais enche a súa conta.
Un URI pode conter username:password antes do seu host. Iso non significa que toda API de .NET que acepta ese URI copie a información do usuario nun obxecto de autenticación.
Ao construír WebProxy directamente, faga explícita a asignación de credenciais:
var proxy = new WebProxy("http://203.0.113.10:8080")
{
Credentials = new NetworkCredential(proxyUser, proxyPassword)
};As variables de endpoint e de conta son ilustrativas. Así se manteñen separados o enderezo de destino, o enderezo do proxy e a conta do proxy.
Se un formato de entrada fornece un URL con credenciais, analice a súa información de usuario de forma deliberada. Conserve un contrasinal con dous puntos dividindo só no separador de credenciais e decodifique os compoñentes codificados na etapa axeitada. Evite imprimir o URL orixinal mentres diagnostica ese analizador.
Un URL de proxy que funciona como axuste de contorno pode comportarse de forma distinta ao pasalo a outro construtor. A inicialización do proxy de contorno ten a súa propia lóxica de análise; non é unha promesa de que todo construtor consuma os mesmos campos.
Por último, asigne o obxecto proxy configurado ao controlador que executa a solicitude. Unhas credenciais correctas nun WebProxy sen usar non poden afectar a conexión.