ネットワーク

[C#] Basic認証情報が埋め込まれたURLから認証情報のみを取得する

Basic認証情報が埋め込まれたURLから認証情報のみを取得する方法です。

http://<認証ID>:<パスワード>@<アドレス>
 ↑ このような感じで認証情報をURLに埋め込むことができます。

サンプル

例)URLから認証ID、パスワードを取得する


using System;

// 認証情報が埋め込まれたURLのオブジェクトを生成する
var uri = new Uri("http://hoge:pass@xxx.yyy.zzz");

// IDとパスワードを取得する
string userInfo = uri.UserInfo;
string[] splitStr = userInfo.Split(':');
string userId = splitStr[0];
string password = splitStr[1];

// コンソールに出力する
Console.WriteLine(userId);   //認証ID
Console.WriteLine(password); //パスワード

正しい認証情報が含まれたURLが指定される前提のコードです。

結果

hoge
pass

備考

  • URLから認証情報を取得するには、System.URIUserInfoで取得できます。
  • UserInfoの結果は「user:pass」のようは形式で返るので、「:」で分割しています。

関連記事

-ネットワーク
-