Добрый день!
У меня есть URL-адрес, допустим,
http://someurl.com?someparam=my.dot.param
Я знаю, что точка («.» - символ) является допустимым символом HTTP-запроса, но по некоторым причинам я нужно экранировать его с помощью "% 2E"
Я хотел использовать что-то вроде EscapedPath () , но, как я упоминал ранее, точка ("." - символ) является допустимым символом HTTP-запроса, поэтому я не смог этого сделать.
Что я сделал.
1) Я удаляю все точки в строке « my.dot.param » с помощью некоторой константы (например, «_remove_this_dot_»), поэтому я получаю « my_remove_this_dot_dot_remove_this_dot_param »
2) После получения конечного URL:
u.RawQuery = q.Encode()
retURL := u.String()
Я делаю
result := strings.ReplaceAll(retURL, "_remove_this_dot_", "%2E")
Все работает, но код выглядит ужасно - есть ли способ исправить это? Может быть, со стандартной библиотекой?
PS Извините за мой плохой англи sh.