0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

C#のHttpClientでDigest認証接続を行う。

Last updated at Posted at 2023-04-28

はじめに

.Netではhttpアクセスクラスがたくさんあるが、HttpClientクラスが推奨されている。
しかし、HttpClientクラスでDigest認証を扱うサンプルがなかなか見つからなかった。
(HttpWebResponseだとDigest認証サンプルが多いが、筆者環境では不具合が出た。)

実行ソース

参考
https://teratail.com/questions/296671

VB参考元ソース

    'CredentialCacheの作成
    Dim cache As New System.Net.CredentialCache()
    'Digest認証の情報を追加
    cache.Add(New Uri(url), "Digest", New System.Net.NetworkCredential("user", "password"))

    Dim myClientHandler = New HttpClientHandler()
    myClientHandler.Credentials = cache

C#対応後ソース

        private HttpClient GetDigestClient()
        {
            //'CredentialCacheの作成
            var cache = new System.Net.CredentialCache();
            //'Digest認証の情報を追加
            cache.Add(new Uri("URL"), "Digest", new System.Net.NetworkCredential("ID", "PW"));

            var myClientHandler = new HttpClientHandler();
            myClientHandler.Credentials = cache;

            var client = new HttpClient(myClientHandler);
            client.Timeout = new TimeSpan(0, 0, 0, 0, 5000);
            return client;
        }

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?