Como usar o .NET WebSocket Client com proxies NTLM?

9

Meu objetivo é usar uma implementação de cliente WebSocket .Net (ou seja, não um navegador) para se conectar a um WebSocket em um proxy corporativo que exija autenticação NTLM. Até agora, todas as soluções (por exemplo, websocket-sharp-com-proxy, websocket4net) são insuficientes.

Eu tentei estes:

Como usar proxies com a biblioteca WebSocket4Net

link

Tanto quanto eu sei, o autor não atualizou esta discussão sobre como adicionar suporte ao proxy NTLM. link

Esta pergunta tentou perguntar por que as implementações de clientes não suportam proxies, mas não foram respondidas, e não lançaram nenhuma nova luz sobre por que ninguém quer abordar o problema.

Então, voltando à minha pergunta, como alguém usa a tecnologia WebSocket em um aplicativo cliente por trás de um proxy NTLM?

    
por RichardTheKiwi 23.08.2016 в 05:22
fonte

1 resposta

2

O objeto ClientWebSocket encontrado em System.Net.WebSockets contém uma propriedade Options que permite definir configurações de proxy.

var ws = new System.Net.WebSockets.ClientWebSocket();
await ws.ConnectAsync(new Uri("destination.com"), CancellationToken.None);
ws.Options.Proxy = new WebProxy("example.com")
{
    Credentials = new NetworkCredential("userName", "password")
};

O objeto NetworkCredential é usado para autenticação baseada em senha e pode fornecer o que você precisa. Você também pode tentar definir Credentials na propriedade Options do objeto WebSocket como este, se o acima não funcionar.

ws.Options.Credentials = new NetworkCredential("userName", "password");

Eu não tenho acesso a esse tipo de ambiente, então, na verdade, não tentei o que você está tentando fazer e não tenho certeza se isso ajudará. Mas parece que isso vai funcionar para mim.

    
por Brandon Griffin 08.09.2016 / 00:27
fonte