Экранирование символов имени пользователя в основных URL-адресах авторизации
При использовании базовой проверки подлинности http имя пользователя может быть передано в URL-адресе, например.
http://[email protected]/path/
Но теперь предположим, что имя пользователя является адресом электронной почты, например. [email protected] Это явно двусмысленно:
http://[email protected]@foo.com/path/
Есть ли способ избежать символа @в имени пользователя? Я пробовал стандартную кодировку URL:
http://david%[email protected]/path/
Но это не делалось.
Ответы
Ответ 1
Согласно RFC 3986, раздел 3.2.1, он должен быть закодирован в процентах:
userinfo = *( unreserved / pct-encoded / sub-delims / ":" )
Итак, это выглядит как
http://david%[email protected]/path/
Правильно. Где вы пытаетесь его прочитать? Возможно, вам нужно вручную декодировать значение?