网址:带有@的用户名


125

要使用网址发送用户名和密码,我们使用以下方案:

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

但是我的用户名是my_email@gmail.com
问题是@

我该如何解决?


10
编码@%40
Marc B

6
您不想在URL中包含密码,因为那样的话,您可能会意外地尝试通过HTTP访问URL(您正在这样做),这意味着在您50米之内的Wireshark拥有密码和用户名。
HoldOffHunger

Answers:


182

您需要将@编码为%40。


1
真好 如果您的密码中@也包含密码,这也可以使用,而密码管理器创建的随机密码越来越有可能出现这种情况。
Adambean '18

我必须使用所有不同于字母数字的字符来执行此操作吗?例如,如果我的用户名是name.lastname@mail.com和密码abc!@#,我应该使用name%2Elastname%40mail%2Ecomabc%21%40%23吗?
m4l490n

19

在您的用户名中使用%40代替url编码的@符号。然后,它应该正确通过。


由于bitbucket不再允许使用纯用户名,而是需要username@example.org样式的用户名,因此,这项工作非常出色。
Jeroen Wiert Pluimers,

14

做就是了:

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

我很惊讶问题出在用户名@而不是密码上-通常这是我在url授权或路径部分中获得保留字符的地方。

解决特殊字符的一般情况:只需打开chrome控制台,F12然后encodeURIComponent(str)在其中粘贴 str您的密码(或用户名),然后使用编码后的结果形成带有密码的url。

希望这可以节省您一些时间。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.