ASP.NET Core(.NET 6)でクライアントのIPアドレスを取得する方法を解説します。
RemoteIpAddress
ASP.NET Coreでは、接続元であるクライアントのIPアドレスは、
「HttpContext.Connection.RemoteIpAddress」で取得することができます。
接続元のIPアドレスを取得して接続元の履歴を保存したい場合などのケースで使用することがあると思います。
HTTP要求に関する情報を保有しているHttpContextクラスのConnection/RemoteIpAddress という接続元のIPアドレスを保有しているプロパティを使用することでIPアドレスを取得することが可能となっています。
実際に上記プロパティを使用してIPアドレスを取得する実装方法は以下の通りです。
public void GetClientIpAddress()
{
// Ipv4
var remoteIpAddress = Request.HttpContext.Connection.RemoteIpAddress.MapToIPv4();
// Ipv6
var remoteIpAddress = Request.HttpContext.Connection.RemoteIpAddress.MapToIPv6();
}
ちなみに、IPv4のアドレスを取得したい場合はMapToIPv4、IPv6のアドレスを取得したい場合はMapToIPv6というメソッドを使用する必要があります。
ASP.NET おすすめ入門講座
3つのWebアプリケーションの開発を通して、ASP.NETについて基礎から学べるおすすめの入門講座がこちら☟
【入門者向け】ASP.NET MVCでWebアプリ開発のノウハウを学ぼう!