Подтвердить что ты не робот

Экранирование символов имени пользователя в основных URL-адресах авторизации

При использовании базовой проверки подлинности http имя пользователя может быть передано в URL-адресе, например.

http://[email protected]/path/

Но теперь предположим, что имя пользователя является адресом электронной почты, например. [email protected] Это явно двусмысленно:

http://[email protected]@foo.com/path/

Есть ли способ избежать символа @в имени пользователя? Я пробовал стандартную кодировку URL:

http://david%[email protected]/path/

Но это не делалось.

4b9b3361

Ответ 1

Согласно RFC 3986, раздел 3.2.1, он должен быть закодирован в процентах:

  userinfo    = *( unreserved / pct-encoded / sub-delims / ":" )

Итак, это выглядит как

http://david%[email protected]/path/

Правильно. Где вы пытаетесь его прочитать? Возможно, вам нужно вручную декодировать значение?