如果您想获取运行 C# 代码的计算机的 IP 地址,可以使用以下代码:
using System.Net; IPAddress[] localIPs = Dns.GetHostAddresses(Dns.GetHostName()); foreach (IPAddress addr in localIPs) { if (addr.AddressFamily == AddressFamily.InterNetwork) { Console.WriteLine($"Your current IP address is: {addr}"); } }
此代码将使用 Dns.GetHostAddresses() 方法获取当前计算机的所有 IP 地址,然后循环遍历每个地址,以查找 IPv4 地址(AddressFamily.InterNetwork)。找到 IPv4 地址后,代码将在控制台中打印它
在.NET Core中,您可以使用HttpContext类来获取客户端的信息,包括请求的来源、浏览器、操作系统和IP地址等。以下是一些示例代码:
获取客户端IP地址:
string ipAddress = HttpContext.Connection.RemoteIpAddress.ToString();
获取浏览器信息:
string userAgent = HttpContext.Request.Headers["User-Agent"].ToString();
获取操作系统信息:
string osVersion = HttpContext.Request.Headers["User-Agent"].ToString().Split(" ")[1];
获取请求来源信息:
string referer = HttpContext.Request.Headers["Referer"].ToString();
需要注意的是,某些客户端可能会通过代理服务器发送请求,这样就会导致RemoteIpAddress属性返回的是代理服务器的IP地址而不是真实客户端的IP地址。为了解决这个问题,您可以在应用程序中添加中间件来解析代理服务器传递的IP地址。
2016 © donet5.comApache Licence 2.0