Что такое кодировка URL% 2526? - PullRequest
13 голосов
/ 15 февраля 2012

Почему %2526 используется вместо %26 для кодирования &?

Я вызываю URL на внешний сайт, и когда я кодирую & как %2526, параметры передаются правильно, но когда я просто использую %26, они не являются.

Ответы [ 5 ]

19 голосов
/ 15 февраля 2012

Если вы закодируете амперсанд по URL-адресу, вы получите %26.Если вы кодируете URL %26, вы получаете %2526.Таким образом, он кодируется в URL дважды.

5 голосов
/ 15 февраля 2012

%25 - это символ процента, поэтому %2526 URLDecoded дает

%26

, а URLDecoded дает

&

. По какой-то причине ваш звонок кажетсятребуется вдвойне процентный кодированный ввод.Не зная больше о том, что вы делаете, невозможно понять почему, но я думаю, что все в порядке.

1 голос
/ 15 февраля 2012

Очевидно, что в процессе он декодируется дважды: сначала от %2526 до %26, а затем от %26 до &.
Не стоит слишком долго останавливаться на том, почему;если это работает, просто используйте это так.

0 голосов
/ 15 февраля 2012

Если URL-адрес используется в возвращаемом URL-адресе или в значении другой строки запроса, зарезервированные и исключенные символы должны быть удвоены.& имеет одинарное кодирование как% 26 и двойное кодирование как% 2526.

0 голосов
/ 15 февраля 2012

& действительно кодируется как %26.

. Вы можете протестировать его, создав файл HTML, открыв его в браузере, введя символы, которые необходимо протестировать, и просмотрев полученный URL в браузере:

<form>
<input type='text' name='qwe'>
<input type='submit'>
</form>
...