我使用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。
答案 0 :(得分:0)
但有错误,是无效的URL转义“ %% 3”。为什么?
因为%% 3在URL路径中不是有效的百分比编码。
如果您需要处理格式错误的URL,则必须自己实现。 (或在上游修复。)