当前位置: 首页 > Linux

Go标准库(net-url)阅读

时间:2023-04-06 01:56:24 Linux

go标准库(net/url)阅读url简介问题一:什么是url?当我们使用搜索引擎进行搜索时,我们的第一步是在浏览器的地址栏中输入google.com、www.google.com、http://www.google.com。我们在地址栏中输入的是网址。URL,也称为统一资源定位器,用于定位我们要访问的文档或其他资源。问题2:URL有什么格式?scheme://[userinfo]@[host]:[port]/path?key1=value1&key2=value2#fragmentprotocol(http,https,file,ftp)用户信息,是可选的主机名或ip地址,定位网络Locationport服务端口,一般端口表示提供某个服务路径的主机上的目录?查询信息后,key1=value1表示key值和value值,&是连接符'#',后面是分片信息。问题三:URL非ascii编码如何处理?对于非ASCII编码,使用%后跟两个十六进制数。例如%ABURL中不能有空格,空格用“+”表示。url库我们知道url中不能有空格和非ascii字符。当这样的字符出现在我们的url路径字段中,我们应该如何处理呢。url路径字段中有空格和非ascii字符。funcPathEscape(sstring)string返回的字符串将是url可以使用的%,后跟两个十六进制数。如何将url中的path字段恢复为原始模式funcPathUnescape(sstring)(string,err)a:="hello,world"//包含非ascii码b:=url.PathEscape(a)fmt.Printf("%v\n",b)//输出:hello%2C%20%E4%B8%96%E7%95%8Cc,_:=url.PathUnescape(b)fmt.Printf("%v\n",c)//输出:hello,world注意:路径中的空格和非ascii字符的处理方式相同。如何处理查询字段中的非ascii字符和空格funcQueryEscape(sstring)stringfuncQueryEscape(sstring)(string,error)注意:空格的处理和path的处理不一样,''会编程'+'示例:https://github.com/MoonNan/go...如何解析URL主要使用Parse函数解析URL地址。示例代码:https://github.com/MoonNan/go...如何处理Query数据Query字段可以通过ParseQuery函数进行处理。ParseQuery根据传入的字符串生成一个Values字典。typeValuesmap[string][]string方法:EncodeValues生成字符串GetSetDelAdd示例代码:https://github.com/MoonNan/go...如何处理userinfotypeuserinfo的使用处理用户数据User和UserPassword函数生成Userinfo结构体方法:UserinfoPasswordUsername