Um URI pode conter username:password antes do seu host. Isso não significa que toda API .NET que aceita esse URI copie as informações do utilizador para um objeto de autenticação.

Ao construir WebProxy diretamente, torne a atribuição de credenciais explícita:

var proxy = new WebProxy("http://203.0.113.10:8080")
{
    Credentials = new NetworkCredential(proxyUser, proxyPassword)
};

As variáveis de endpoint e de conta são ilustrativas. Isso mantém separados o endereço de destino, o endereço do proxy e a conta do proxy.

Se um formato de entrada fornecer um URL com credenciais, analise deliberadamente as suas informações de utilizador. Preserve uma palavra-passe com dois pontos dividindo apenas no separador de credenciais e descodifique os componentes codificados na fase adequada. Evite imprimir o URL original enquanto diagnostica esse analisador.

Um URL de proxy que funciona como definição de ambiente pode comportar-se de forma diferente quando é passado a outro construtor. A inicialização do proxy de ambiente tem a sua própria lógica de análise; não é uma promessa de que todos os construtores consomem os mesmos campos.

Por último, defina o objeto proxy configurado no manipulador que executa o pedido. Credenciais corretas num WebProxy não utilizado não podem afetar a ligação.

Artigos relacionados