Проблема с кодировкой URL-адреса для параметра path, содержащего «/» - PullRequest
0 голосов
/ 31 октября 2018

У меня проблема при кодировании URL. Мой URL может содержать параметр пути, который может включать косую черту "/". Мне нужно отправить этот параметр пути к внешнему API. Это всегда зашифровано + закодировано. Но у меня есть проблемы с кодировкой '/'. Все остальное кодируется, кроме '/'.

Пример:

https://url.com/bdvchewcbwj%2Fhbsdwhjkbq%3D

В приведенном выше примере параметр пути без кодировки:

bdvchewcbwj/hbsdwhjkbq=

Когда я кодирую вышеуказанный параметр пути, я ожидаю, что URL будет:

https://url.com/bdvchewcbwj%2Fhbsdwhjkbq%3D

но результат:

bdvchewcbwj/hbsdwhjkb%3D

Ввод:

https://url.com/bdvchewcbwj/hbsdwhjkbq%3D

Ожидаемый результат:

https://url.com/bdvchewcbwj%2Fhbsdwhjkbq%3D

Я использую клиент okHttp для создания запроса. Есть ли какая-либо библиотека, которая просто кодирует некодированные символы, оставляя уже закодированные символы?

1 Ответ

0 голосов
/ 31 октября 2018

Как вы кодируете параметр? Для меня

URLEncoder.encode("bdvchewcbwj/hbsdwhjkbq=","UTF-8");

работает, как ожидалось, и результат равен

bdvchewcbwj%2Fhbsdwhjkbq%3D
...