go http请求如果参数中带有

时间:2022-10-13 07:15:20

编码完整的URL

url.QueryEscape(urlStr)

编码完整的URL

如果我们要对完整的 URL 进行编码呢? 就是PHP中 urlencode() 函数的功能。 在 GO 语言下可以直接使用 url.QueryEscape() 函数。

escapeUrl := url.QueryEscape(urlStr)
fmt.Println(escapeUrl)

/**
输出:https%3A%2F%2Fcong5.net%2Fpost%2Fgolang%3Fname%3D%E5%BC%A0%E4%B8%89%26age%3D20%26sex%3D1
**/

解编码url

url.QueryUnescape(escapeUrl)
既然有了编码,那么就肯定有配套的解编码函数的了。 PHP中有 urldecode() 函数的功能。 在GO 语言下可以直接使用 url.QueryUnescape() 函数。

enEscapeUrl, _ := url.QueryUnescape(escapeUrl)
fmt.Println(enEscapeUrl)

//输出:
//https://cong5.net/post/golang?name=张三&age=20&sex=1