Golang 获取本地 IP 地址方法

这篇具有很好参考价值的文章主要介绍了Golang 获取本地 IP 地址方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在 Golang 中,使用 net 包可以很方便地获取到本机IP地址。

借助 net.InterfaceAddrs 方法

简单示例代码如下:

package main

import (
	"fmt"
	"net"
)

func main() {
	addrList, err := net.InterfaceAddrs()
	if err != nil {
		panic(err)
	}
	for _, address := range addrList {
		if ipNet, ok := address.(*net.IPNet); ok && !ipNet.IP.IsLoopback() {
			if ipNet.IP.To4() != nil {
				fmt.Println(ipNet.IP.String())
			}
		}
	}
}

借助 net.Dial 方法

使用 udp 不需要关注是否送达,只需要对应的 ip 和 port 正确,即可获取到 IP 地址。简单示例代码如下:文章来源地址https://www.toymoban.com/news/detail-605862.html

package main

import (
	"fmt"
	"net"
	"strings"
)

func main() {
	conn, err := net.Dial("udp", "8.8.8.8:53")
	if err != nil {
		panic(err)
	}
	addr := conn.LocalAddr().(*net.UDPAddr)
	ip := strings.Split(addr.String(), ":")[0]
	fmt.Println(ip)
}

到了这里,关于Golang 获取本地 IP 地址方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • golang 发起 http 请求,获取访问域名的 ip 地址(net, httptrace)

    今天碰到了个需求,我要知道程序对外访问的 http 请求域名的 ip 地址。 直接查看 golang 的 net/http 包,发现 Response 中并没有我想要的 ip 信息。 考虑到在 OSI 七层模型中, ip 是网络层协议,而 http 是应用层协议。去翻了下 net 包,发现了基础用法。 先提一下,域名访问服务器

    2024年02月02日
    浏览(54)
  • vue前端获取本地IP地址

    新建js文件 getIpAddress.js 在index.js文件中添加以下配置

    2024年04月29日
    浏览(44)
  • 浏览器获取本地IP地址(不是浏览器的url地址的ip)

    浏览器输入: edge://flags/#enable-webrtc-hide-local-ips-with-mdns Anonymize local IPs exposed by WebRTC 状态改为disable JS方法: function f() { if(typeof window != \\\'undefined\\\'){ var RTCPeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection; var rtc = new RTCPeerConnection() rtc.createDataChannel(\\\'\\\'

    2024年02月02日
    浏览(73)
  • Qt 获取本机 ip地址方法 获取客户端ip和端口的方法

    上述函数返回本机所有IPv4的ip地址列表,比如192.168.1.10|192.166.1.95 其它方法=》 获取客户端IP地址:

    2024年02月14日
    浏览(43)
  • 如何设置本地连接ip 本机固定IP地址设置方法

    本地IP怎么设置?很多配置路由器的时候有时候找不到192.168.1.1就是因为本地固定ip地址有问题,这个时候就需要我们设置本地固定ip地址了,近日又有不少网友向编辑问这个问题,今天yii666编辑专门针对本地连接ip设置做详细介绍,方便大家查找。 其实需要设置本地IP一般是在

    2024年02月05日
    浏览(44)
  • wifi无法获取ip地址的解决方法

    一:首先检查下路由器是否坏了, 确定路由器没有坏的情况下重启路由器。如果还没有用的话重新修改一下无线陆由器的协议和密码,重新设置好陆由器后,把手机原来有的搜索到的这个网络先删除,然后重新链接。 二:WIFI的连接名字(网络名称)尽量为英文, 或者是英文

    2024年02月05日
    浏览(34)
  • Linux中快速获取IP地址的方法

    登录Linux服务器后,有时我们会由于“排错”或由于“自我怀疑”而再次检查登录服务器的IP地址,下面为大家讲解两种获取IP地址的方法。 命令: ifconfig  | grep inet | awk \\\'{print $2}\\\' |head -1 如果不会上述ifconfig方法,可以使用hostname -i或hostname -I(大写的i)命令,也可以快速获取i

    2024年02月15日
    浏览(42)
  • Redhat 最简获取IP地址的方法

    1. 常见RHEL6 7 8  2. shell 脚本也是获取eth0 编写shell脚本或通过终端粘贴时都需要获取IP地址: ifconfig eth0|awk \\\'NR==2 {print $2}\\\' 说明1 : ifconfg eth0  # 指定IP 说明2 :grep \\\'inet \\\' # 找到对应行 说明3 :awk \\\'NR==2 {print $2}\\\'  # NR==2是设置只读取第2行,$2打印第二列,awk不加-F参数默认是空格刚

    2024年02月15日
    浏览(31)
  • Python:获取ip地址的三种方法

    目录 方法一 方法二 方法三 运行结果: 运行结果: 运行结果:

    2024年02月06日
    浏览(44)
  • 【解决方法】锐捷EVE模拟器中VPC无法通过DHCP获取IP地址,改用接口获取地址

    工具:锐捷 EVE 模拟器,VMware Workstation Pro 远程工具:SecureCRT 系统版本:Windows 10 描述:一个简单的 DHCP 环境,使用 VPC 充当 PC 客户机,IP 地址获取为 DHCP 方式。但在发送 request 数据包后,服务器服务器已经把地址租用出去,但 VPC 中并没有收到 ACK 数据包,并没有正常获取到

    2024年02月08日
    浏览(150)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包