go http请求如果参数中带有"等特殊字符,参数传输可能会出现问题

编码完整的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

参考:

https://blog.csdn.net/tankpanv/article/details/104866631?utm_term=QueryUnescape go 安全么&utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2allsobaiduweb~default-0-104866631-null-null&spm=3001.4430

posted @   HaimaBlog  阅读(502)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
历史上的今天:
2020-06-17 gin 单个文件函数 上传文件到本地目录里
点击右上角即可分享
微信分享提示