登录
首页 >  Golang >  Go问答

golang url.PathUnescape 在百分号编码情况下失效

来源:stackoverflow

时间:2024-03-01 09:42:24 450浏览 收藏

大家好,我们又见面了啊~本文《golang url.PathUnescape 在百分号编码情况下失效》的内容中将会涉及到等等。如果你正在学习Golang相关知识,欢迎关注我,以后会给大家带来更多Golang相关文章,希望我们能一起进步!下面就开始本文的正式内容~

问题内容

我使用golang url.pathunescape函数对url进行转义,但在%%中不起作用。

我收到一个请求,其网址为 /search/?ptp=1&q=%27%22&%%3cacx%3e%3cscript%20%3emcyv9834%3c/script%3e&t=bao。 当我使用 golang url.pathunescape 函数对 url 进行转义时,但出现错误:无效的 url 转义“%%3”。为什么?

package main
import (
    "net/url"
    "fmt"
)
func main() {
    str := `/search/?ptp=1&q=%27%22&%%3Cacx%3E%3CScRiPt%20%3EmCyV9834%3C/ScRiPt%3E&t=bao`
    a, b := url.PathUnescape(str)
    fmt.Println(a, b)
}

源地址为 /search/?ptp=1&q='"&%mcyv9834&t=bao 。


解决方案


但错误是无效的 URL 转义“%%3”。为什么?

因为 %%3 不是 URL 路径中的有效百分比编码。

如果您需要处理格式错误的 URL,则必须自行实现。 (或修复上游。)

好了,本文到此结束,带大家了解了《golang url.PathUnescape 在百分号编码情况下失效》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>