ASP.NET CoreでUser-Agent値を取得する方法


  1. HttpContextを使用する方法:

    public IActionResult Index([FromServices] IHttpContextAccessor accessor)
    {
    var userAgent = accessor.HttpContext.Request.Headers["User-Agent"].ToString();
    // ユーザーエージェントの値を利用する処理
    return View();
    }
  2. UserAgentParserを使用する方法: UserAgentParserは、User-Agent文字列を解析してブラウザの詳細な情報を提供するライブラリです。NuGetパッケージ「UAParser」をインストールして使用できます。以下は使用例です。

using UAParser;
public IActionResult Index()
{
    var uaString = Request.Headers["User-Agent"].ToString();
    var uaParser = Parser.GetDefault();
    var clientInfo = uaParser.Parse(uaString);

    // ブラウザ情報の利用例
    var browserName = clientInfo.UA.Family;
    var browserVersion = clientInfo.UA.Major;
    var osName = clientInfo.OS.Family;
    var osVersion = clientInfo.OS.Major;
    // 他の情報も利用可能

    return View();
}
  1. UserAgentUtilsを使用する方法: UserAgentUtilsは、User-Agent文字列を解析してブラウザの種類やデバイスの情報を提供するライブラリです。NuGetパッケージ「UserAgentUtils」をインストールして使用できます。以下は使用例です。
using UserAgentUtils;
public IActionResult Index()
{
    var uaString = Request.Headers["User-Agent"].ToString();
    var uaInfo = UserAgent.ParseUserAgentString(uaString);

    // ブラウザ情報の利用例
    var browserName = uaInfo.Browser.Name;
    var browserVersion = uaInfo.Browser.Version;
    var osName = uaInfo.OS.Name;
    var osVersion = uaInfo.OS.Version;
    // 他の情報も利用可能

    return View();
}