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.

Artigos relacionados