golang url.PathUnescape 无法在 %% 中工作

标签 go url

我使用 golang url.PathUnescape 函数对 url 进行转义,但它不能在 %% 中工作。

我收到一个请求,它的 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 。

最佳答案

but it has error is invalid URL escape "%%3". Why?

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

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

关于golang url.PathUnescape 无法在 %% 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55888479/

相关文章:

url - 有没有一种方法可以让 URL 进行搜索而不指定网站?

xml - 使用 Go 解析 RDF 三倍。一些项目错误地传递了正则表达式

javascript - 如何在javascript中使用动态golang html模板id?

Golang 用主包代码和.a 文件编译?

JavaScript - 如果 URL 没有#hash?

java - 读取站点源: � characters

golang 如何正确使用双引号?

go - 使用 ldflags 为二进制文件提供在 golang 中不起作用的版本

IOS > 使用 POST 在 Safari 中打开 URL

java - 如何在 Netbeans IDE 中组织文件夹内的文件