Go:官方包 - net 常用方法

本文介绍了Go语言中的net包,包括地址信息查找、地址操作和连接示例,特别是TCP连接的客户端和服务端实现。同时,深入探讨了net/http包,涵盖连接监听、HTTP客户端设置、代理和TLS配置等,并提供了完整的客户端和服务端代码示例。
摘要由CSDN通过智能技术生成

参考:Go语言中文网

1、net包

1、lookUp地址信息查找相关

	//InterfaceAddrs 返回该系统的网络接口的地址列表。
	addr, _ := net.InterfaceAddrs()
	fmt.Println(addr)

	//Interfaces 返回该系统的网络接口列表
	interfaces, _ := net.Interfaces()
	fmt.Println(interfaces)

	//LookupAddr 查询某个地址,返回映射到该地址的主机名序列
	lt, _ := net.LookupAddr("www.alibaba.com")
	fmt.Println(lt)

	//LookupCNAME函数查询name的规范DNS名(但该域名未必可以访问)。
	cname, _ := net.LookupCNAME("www.baidu.com")
	fmt.Println(cname)

	//LookupHost函数查询主机的网络地址序列。
	host, _ := net.LookupHost("www.baidu.com")
	fmt.Println(host)

	//LookupIP函数查询主机的ipv4和ipv6地址序列。
	ip, _ := net.LookupIP("www.baidu.com")
	fmt.Println(ip)

2、地址操作

	//函数将host和port合并为一个网络地址。一般格式为"host:port";如果host含有冒号或百分号,格式为"[host]:port"。
	//Ipv6的文字地址或者主机名必须用方括号括起来,如"[::1]:80"、"[ipv6-host]:http"、"[ipv6-host%zone]:80"。
	hp := net.JoinHostPort("127.0.0.1", "8080")
	fmt.Println(hp)

	//函数将格式为"host:port"、"[host]:port"或"[ipv6-host%zone]:port"的网络地址分割为host或ipv6-host%zone和port两个部分。
	shp,port,_ := net.SplitHostPort("127.0.0.1:8080")
	fmt.Println(shp," _ ",port)


3、错误说明

接口定义:

	type Error interface {
   
	    error
	    Timeout() bool   // 错误是否为超时?
	    Temporary() bool // 错误是否是临时的?
	}

错误说明:

读取主机DNS配置时出现的错误。

	// DNSError represents a DNS lookup error. 
	type DNSError struct {
   
	Err         string // description of the error
	Name        string
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

了-凡

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值