かずきのBlog@hatena

すきな言語は C# + XAML の組み合わせ。Azure Functions も好き。最近は Go 言語勉強中。日本マイクロソフトで働いていますが、ここに書いていることは個人的なメモなので会社の公式見解ではありません。

SignalRの.NETクライアントで認証プロキシを突破する方法

追記

初音さんが確認してくれて、IEのプロキシ設定があれば自動でそっちを見てくれるみたいです。 IE側でプロキシ設定されてたら、それを使って接続を試して、それでだめだったら今回紹介した方法で指定した情報を使ってつなぎにいくという動きをするっぽいですね。

本文

転職してから認証プロキシのない世界に来たのですが、前職で認証プロキシ配下でSignalR使うことをちょいちょいやってたのでメモっておきます。 ちなみに、検証環境がすでにないので間違ってるかもしれないのでダメだったら教えてください!!(ついでにOKだった場合も教えてもらえると嬉しい)

SignalRでは、HubConnectionのProxyプロパティにプロキシの情報を設定します。そこにWebProxyを設定してやればOKです。認証プロキシの場合はWebProxyのCredentialsプロパティにNetworkCredentialを指定してやります。

コードはこんな雰囲気になります。

var conn = new HubConnection("server address");
conn.Proxy = new WebProxy("http://example.com:8080")
{
    Credentials = new NetworkCredential("user@example.com", "p@ssw0rd"),
};

それでは、良い認証プロキシライフを!