URL-адрес Голанга. PathUnescape не может работать в %% - PullRequest
0 голосов
/ 28 апреля 2019

Я использую функцию 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-адрес escape "%% 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)
}

URL-адрес источника: / search /? Ptp = 1 & q = '"&% mCyV9834 & t = bao.

1 Ответ

0 голосов
/ 28 апреля 2019

, но при этом произошла ошибка: недопустимый URL-адрес "%% 3".Почему?

Поскольку %% 3 не является допустимой кодировкой процента в пути URL.

Если вам нужно иметь дело с искаженными URL-адресами, вы должны реализовать это самостоятельно.(Или исправить вверх по течению.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...