在使用http请求的时候经常会遇到需要对url参数编码的情况
golang本身提供了方法
package main
import (
"fmt"
"net/url"
"strings"
)
func main() {
//准备url
urlStr := "www.baidu.com?a=阿斯顿&b=撒房间内 金额风景"
//判断是否以http或https开头 没有则加上
if !strings.HasPrefix(urlStr, "http://") && !strings.HasPrefix(urlStr, "https://") {
urlStr = "http://" + urlStr
}
//解析url
l, err := url.Parse(urlStr)
if err != nil {
//log.Println("url encoding exception : ", err)
}
//对参数转码并重新拼接
encodeurl := l.Scheme + "://" + l.Host + "?" + l.Query().Encode()
//打印一下
fmt.Println(encodeurl)
}
执行结果展示
使用工具解密回来
完美!