.NETのWebClientでBASIC認証を行う

提供: MonoBook
ナビゲーションに移動 検索に移動

ググると「BASIC認証はNetworkCredentialクラスを使う」とあったが、まったく動かない。

client.Credentials = new NetworkCredential("user", "password");

さらにググると以下の方法がでてきて無事動いた。

// BASIC 認証
var client = new WebClient();

var user   = "user";
var pass   = "password";

var plain  = Encoding.UTF8.GetBytes($"{user}:{pass}");
var base64 = Convert.ToBase64String(plain);
client.Headers[HttpRequestHeader.Authorization] = $"Basic {base64}";