佳佳的博客
Menu
首页
[.NET Core] 获取本地IP地址
Posted by
佳佳
on 2019-05-28
IT
.NET Core
网上搜到的都是 Web 服务器通过当前上下文 `HttpContext` 来获取本机的 IP 地址, ```csharp HttpContext.Connection.LocalIpAddress.MapToIPv4().ToString() ``` 那么控制台程序中如何获取本机 IP 呢? 我这里使用了 *System.Net.Dns* 类的 `GetHostEntry` 和 `GetHostName` 方法,获取的 IP 地址列表中取第一个地址族(*address family*)为 `AddressFamily.InterNetwork` 的 IP。如果是获取 *IPv6* 的地址,地址族应为 `AddressFamily.InterNetworkV6` 。 **注意**:由于 `GetHostEntry` 方法获取到是 IP 地址的数组,所以我也不确定取第一个是否是对的(虽然本机调试的时候是对的上的)。 ```csharp System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName()).AddressList.FirstOrDefault(address => address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)?.ToString() ``` **参考文档** 1. [Dns.GetHostEntry Method](https://docs.microsoft.com/zh-cn/dotnet/api/system.net.dns.gethostentry?view=netcore-2.1) 2. [IPAddress Class](https://docs.microsoft.com/en-us/dotnet/api/system.net.ipaddress?view=netcore-2.1) 3. [IPAddress.IsLoopback(IPAddress) Method](https://docs.microsoft.com/zh-cn/dotnet/api/system.net.ipaddress.isloopback?view=netcore-2.1)
版权声明:原创文章,未经允许不得转载。
https://www.liujiajia.me/2019/5/28/how-to-get-local-ip-address-in-dotnet-core
“Buy me a nongfu spring”
« 《精通CSS - 高级Web标准解决方案》 5. 对链接应用样式
[.NET Core] 使用 WebApiClient 调用微信商户API »
昵称
*
电子邮箱
*
回复内容
*
(回复审核后才会显示)
提交
目录
AUTHOR
刘佳佳
江苏 - 苏州
软件工程师
梦嘉集团