。net framework 下面可以用下面的代码获取到本地网络ip地址。netcore下面这个代码也依然可以用

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

转载于:https://www.cnblogs.com/calvinK/p/8245175.html

netcore 获取本地网络IP地址相关推荐

  1. 用python获取本地的ip地址

    用python获取本地的ip地址: Windows下2种方法: 1. 使用拨号上网的话,一般都有一个本地ip和一个外网ip,使用python可以很容易的得到这两个ip 使用gethostbyname和 ...

  2. 获取本地的IP地址(内网)

    方法一 public static String getLocalIpAddress() {try {for (Enumeration<NetworkInterface> en = Net ...

  3. android获取本地连接ip地址,C#获取本机IP地址(ipv4)

    获取本机所有IP地址: 这些地址是包含所有网卡(虚拟网卡)的ipv4和ipv6地址. string name = Dns.GetHostName(); IPAddress[] ipadrlist = ...

  4. Android开发之获取网络IP地址方法总结

      在进行Android应用开发过程中,有时候会遇到获取当前Android设备所使用的网络IP地址的场景,有时候需要本地的网络IP地址,即局域网地址,更多的时候是需要当前网络的真实的对外IP地址,即真 ...

  5. 获取当前服务器ip地址

    一.场景 老项目有多个实例,有个定时任务需要限制只在一台机器上执行,选择在代码里限制机器执行的ip,不满足指定的ip就不执行.也有其它的方法,如设置开关.分布式的任务调度框架等等. 二.代码 方式一 ...

  6. C#如何获取本机网络ip地址

    C#如何获取本机网络ip 有几种方法获取本机局域网地址和网络地址. 1.  获取本机局域网地址: 使用IPHostEntry static string GetLocalIp()         { ...

  7. qt获取本机全部ipv4_QT5下获取本机IP地址、计算机名、网络连接名、MAC地址、子网掩码、广播地址...

    获取主机名称 /* * 名称:get_localmachine_name * 功能:获取本机机器名称 * 参数:no * 返回:QString */ QString CafesClient::get_ ...

  8. android获取网卡ip地址吗,Native.js获取android有线网络IP地址

    刚上手Native.js 请教问题如下: 想通过Native.js 获取Android有线网络IP地址,提示这一行console.log(en.hasMoreElements());报错: Uncau ...

  9. 桌面怎么设置 计算机 网络连接,电脑桌面的本地连接ip地址可以设置吗_本地连接ip地址设置方法 - 驱动管家...

    1.首先在Win7桌面上找到"网络"入口,如下图: 进入Win7网络 2.进入网络之后我们再点击顶部的"网络共享中心",如下图: 进入Win7网络共享中心 3. ...

最新文章

  1. php调用另一个页面内容,php怎么实现调用另一个页面
  2. 高效程序猿之(四)VS2010其他技巧
  3. appium安装部署第二季
  4. 无人驾驶油电混动牵引车_比纯电动更轻,省油率高达10%!解读首台国产非插电式混动卡车...
  5. linux中的信号3——alarm、pause函数
  6. .net下4款不错的微信SDK
  7. 从程序员到项目经理(7):程序员加油站 -- 完美主义也是一种错
  8. 如何查看Android apk的包名?
  9. ArcGIS三维建模(三)
  10. Datawhale 202210 Excel | 第五、六、七章 Excel函数示例 Excel函数列表
  11. 怎么使用水经注万能地图下载器制作百度个性化地图-人造区域篇
  12. zookeeper实现动态感知服务器上下线
  13. 每日一题系列:考拉有n个字符串,任意两个字符串长度都是不同的。考拉最近学习到两种字符串的排序方法
  14. 如何获取MySQL中表的最后更新时间
  15. 金牛座TGAM脑电波传感器模块
  16. 免实名的域名有吗?域名实名制认证有哪些要求?
  17. 给未来写封信app服务器维护中,给未来写封信app
  18. 汉诺塔II|汉诺塔4柱
  19. 唯有卡拉特拉瓦,才敢让建筑飞起来!
  20. 动画设计基础(第三节)-3d max2014 裙摆(单向摆动)

热门文章

  1. java jar包图片_jar包的图片不显示 求解
  2. 以某个字符开始_小白从零开始数据分析01—Excel常用公式汇总(数据清洗)
  3. java中jtansforms,java – 使用AffineTransform旋转图像
  4. linux系统udp通信程序,Linux UDP socket编程(UDP通讯模型) | C/C++程序员之家
  5. 工控机的io开发_Amazing!从树莓派4B主板到嵌入式无风扇工控机,只需三步!
  6. java和mysql中md5+base64的执行结果
  7. easyui树拖拽排序java_项目中集成Easyui-Tree,可拖拽更新节点
  8. linux批量安装 五大开源软件挨个看,51CTO_Linux运维和管理:自动化监测.pdf
  9. 内网集群 无法通信_记一次集群内无可用http服务问题排查
  10. 大华管理平台用户名_大华HOC智慧物流可视化联网追溯解决方案,助力物流行业更高效...