URL: ім’я користувача з @


125

Щоб надіслати ім'я користувача та пароль з URL-адресою, ми використовуємо цю схему:

http://username:password@www.my_site.com

Але моє ім’я користувача є my_email@gmail.com.
Проблема в тому @.

Як я можу це вирішити?


10
кодуємо @як %40.
Марк Б

6
Ви не хочете включати пароль у свою URL-адресу, тому що тоді ви можете випадково спробувати отримати доступ до URL-адреси через HTTP (що ви робите), і це означає, що кожен, хто має Wireshark у межах 50 метрів від вас, має ваш пароль та ім’я користувача.
HoldOffHunger

Відповіді:


182

Вам потрібно зашифрувати URL-адресу @ як% 40.


1
Приємно. Це також працює, якщо ваш пароль містить @занадто велике значення , що все частіше виникає при випадкових паролях, створених менеджерами паролів.
Адамбій

чи потрібно це робити зі всіма символами, відмінними від буквено-цифрових? наприклад, якщо моє ім'я користувача name.lastname@mail.comта мій пароль abc!@#, я повинен використовувати name%2Elastname%40mail%2Ecomі abc%21%40%23?
m4l490n

19

Використовуйте% 40 у своєму імені користувача замість символу @ для кодування URL-адреси. Тоді воно повинно пройти належним чином.


Це чудово спрацьовує тепер, коли бітбукет більше не дозволяє звичайні імена користувачів, але потребує імен користувачів імені користувача@example.org.
Плуймери Jeroen Wiert

14

Просто зробіть:

 http://my_email%40gmail.com:password@www.my_site.com

Я дуже здивований, що проблема була з ім’ям користувача, @а не паролем. Зазвичай я отримую зарезервовані символи в авторитеті URL-адреси або в частині шляху.

Щоб вирішити загальний випадок спеціальних символів: Просто відкрийте хромовану консоль, F12потім вставте, encodeURIComponent(str)де strваш пароль (або ім’я користувача), а потім використовуйте кодований результат для формування URL-адреси з паролем.

Сподіваюсь, це заощадить певний час.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.