netcore 获取本地网络IP地址
2018-01-08 22:08
791 查看
。net framework 下面可以用下面的代码获取到本地网络ip地址。netcore下面这个代码也依然可以用
But,偶然的一次线上日志查看,发现获取到的IP全都是127.0.0.1。虽然本地windows测试上面的代码好使,本地测试环境centos7也好使。就是线上部分机器有问题,
遂写了个demo程序放产线上跑了一下,发现GetHostEntry里面只有一张网卡的信息,即本地回环的那个(lo);
后,经过伟大的google教训:找到https://github.com/dotnet/corefx/issues/8458,遂恍然大悟,应该这样写:
参考:https://github.com/dotnet/corefx/issues/8458
System.Net.Dns.GetHostName() System.Net.Dns.GetHostEntry(hostName)
But,偶然的一次线上日志查看,发现获取到的IP全都是127.0.0.1。虽然本地windows测试上面的代码好使,本地测试环境centos7也好使。就是线上部分机器有问题,
遂写了个demo程序放产线上跑了一下,发现GetHostEntry里面只有一张网卡的信息,即本地回环的那个(lo);
后,经过伟大的google教训:找到https://github.com/dotnet/corefx/issues/8458,遂恍然大悟,应该这样写:
System.Net.NetworkInformation.NetworkInterface.GetAllNetworkInterfaces() .Select(p => p.GetIPProperties()) .SelectMany(p => p.UnicastAddresses) .Where(p => p.Address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork && !System.Net.IPAddress.IsLoopback(p.Address)) .FirstOrDefault()?.Address.ToString();
参考:https://github.com/dotnet/corefx/issues/8458
相关文章推荐
- winform网络编程之DNS类,IPAddress类和IPEndPoint类以及如何获取本地ip地址
- Qt编程14:Qt获取本地网络IP地址以及其他属性(以IPv4为例)
- [Win32]本地计算机网络信息的获取
- c+winsock获取本地IP地址
- 在vb中使用Iphlpapi.dll获取网络信息 第四章 第四节 实例二:探测到某个IP地址经过的路由列表
- 地址本地地址获取Apple设备ip地址
- js获取本地IP地址(局域网)
- 获取本地机器名字与IP地址(使用套接字)
- 如何从网络上获取图片转换成字节流或者保存到本地
- 在Wifi下获取本地IP地址
- C# 获取本地IP地址以及MAC地址
- C#winform 获取本地IP地址
- 利用ioctl获取本地ip地址
- 微信小程序的条件、遍历、网络请求、获取本地图片
- linux c 网络编程:用域名获取IP地址或者用IP获取域名 网络地址转换成整型 主机字符顺序与网络字节顺序的转换
- java获取本地Ip地址
- 从网络获取图片JSON链接本地轮流播放
- Java 获取本地IP地址
- C#获取本地IP地址兼容win7和xp
- 在vb中使用Iphlpapi.dll获取网络信息 第二章 第二十一节 增加和删除一个IP地址