内容简介:我们知道url中不能有空格和非ascii字符。当我们的url path字段中出现这样的字符,我们该如何处理呢。Note: path中的空格和非ascii字符使用同样的方式处理。主要通过Parse函数来解析URL地址。
go标准库(net/url)阅读
url 介绍
-
问题1: 什么是url?
当我们使用搜索引擎搜索东西的,我们第一步先在浏览器的地址栏里输入 google.com, www.google.com, http://www.google.com 。我们在地址栏里输入的东西就是URL。
URL 又叫统一资源定位符, 用于定位我们要访问的文档或者其他资源。
-
问题2: URL有什么样的格式?
scheme://[userinfo]@[host]:[port]/path?key1=value1&key2=value2#fragment
协议 (http, https, file, ftp)
用户信息, 是可选的
主机名字或者ip地址,定位网络位置
port 服务端口, 一般端口表示提供了某项服务
path 主机上的目录
?后的问query信息, key1=value1是表示key值和value值, &是连接符
‘#’ 后面的是fragment信息
-
问题3: URL如何处理非ascii编码?
非ascii编码,使用%后跟两位16进制数表示,如%AB
URL中不能有空格, 空格用“+”表示。
url 库
我们知道url中不能有空格和非ascii字符。当我们的url path字段中出现这样的字符,我们该如何处理呢。
-
url path字段中有空格和非ascii字符
func PathEscape(s string) string
返回的string将是url可以使用的%后跟两位16进制数的形式
-
如何把url中的path字段还原成原始模式
func PathUnescape(s string) (string, err)
a := "hello, 世界" //contain non-ascii code b := url.PathEscape(a) fmt.Printf("%v\n", b) // Output: hello%2C%20%E4%B8%96%E7%95%8C c, _ := url.PathUnescape(b) fmt.Printf("%v\n", c) // Output: hello, 世界
Note: path中的空格和非ascii字符使用同样的方式处理。
-
query字段中出现非ascii字符和空格如何处理
func QueryEscape(s string) string
func QueryEscape(s string) (string, error)
Note:空格的处理和path不太一样,' '将会编程'+'
- 如何解析URL
主要通过Parse函数来解析URL地址。
示例代码: https://github.com/MoonNan/go...
- 如何处理Query 数据
Query字段可以通过ParseQuery函数来处理。ParseQuery根据传入的字符串,生成一个Values字典。
type Values map[string][]string
方法:
Encode 把Values生成字符串
Get Set Del Add
示例代码: https://github.com/MoonNan/go...
- 如何处理userinfo
type Userinfo用来处理用户数据
User和UserPassword函数生成Userinfo 结构体
方法:Userinfo Password Username
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- Golang标准库源码阅读 - net/http.Transport
- 【源码阅读】AndPermission源码阅读
- 【源码阅读】Gson源码阅读
- 中兴通讯助力DevOps标准发布,喜获标准工作组成员授牌
- 如何阅读Java源码 ,阅读java的真实体会
- CODING 受邀参与 DevOps 标准体系之系统和工具 & 技术运营标准技术专家研讨会
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
模式识别
(希)Sergios Theodoridis、(希)Konstantinos Koutroumbas / 电子工业出版社 / 2010-2 / 75.00元
本书全面阐述了模式识别的基础理论、最新方法以及各种应用。模式识别是信息科学和人工智能的重要组成部分,主要应用领域有图像分析、光学字符识别、信道均衡、语言识别和音频分类等。本书在完美地结合当前的理论与实践的基础上,讨论了贝叶斯分类、贝叶斯网络、线性和非线性分类器设计、上下文相关分类、特征生成、特征选取技术、学习理论的基本概念以及聚类概念与算法。与前一版相比,增加了大数据集和高维数据相关的最新算法,这......一起来看看 《模式识别》 这本书的介绍吧!