Http URL:带有@
要使用URL发送用户名和密码,我们使用以下方案:Http URL:带有@,http,url,url-encoding,Http,Url,Url Encoding,要使用URL发送用户名和密码,我们使用以下方案: http://username:password@www.my_site.com 但是我的用户名是my_email@gmail.com 问题在于@ 如何解决此问题?您需要将@URL编码为%40。在用户名中使用%40,而不是@符号进行URL编码。那么它应该能正常通过。只需执行以下操作: http://my_email%40gmail.com:password@www.my_site.com 我很惊讶问题出在用户名@而不是密码上——通常这是我在
http://username:password@www.my_site.com
但是我的用户名是my_email@gmail.com
问题在于
@
如何解决此问题?您需要将@URL编码为%40。在用户名中使用%40,而不是@符号进行URL编码。那么它应该能正常通过。只需执行以下操作:
http://my_email%40gmail.com:password@www.my_site.com
我很惊讶问题出在用户名@
而不是密码上——通常这是我在url权限或路径部分获得保留字符的地方
要解决特殊字符的一般情况:只需使用F12打开chrome控制台,然后粘贴encodeURIComponent(str)
,其中str
是您的密码(或用户名),然后使用编码结果形成带有密码的url
希望这能为您节省一些时间。将
@
编码为%40
。您不希望在URL中包含密码,因为这样您可能会无意中尝试通过HTTP访问URL(您正在这样做),这意味着任何在你50米范围内拥有Wireshark的人都有你的密码和用户名。在用户名中使用URL编码的问题是,HTTP客户端必须在将用户名发送到服务器之前对其进行解码。尽管浏览器似乎可以很好地做到这一点,但许多HTTP客户机却不能做到(因此被破坏了)。我真不敢相信,考虑到2021年,它会有多混乱。现在bitbucket不再允许普通用户名,但需要username@example.org样式用户名。很好。如果您的密码也包含@
,这也适用于密码管理器创建的随机密码。我是否必须对所有不同于字母数字的字符执行此操作?例如,如果我的用户名是name。lastname@mail.com
和我的密码abc@#代码>,我是否应该使用name%2lastname%40mail%2Ecom
和abc%21%40%23
?