我使用 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/