Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Http URL:带有@_Http_Url_Url Encoding - Fatal编程技术网

Http 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 我很惊讶问题出在用户名@而不是密码上——通常这是我在

要使用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
我很惊讶问题出在用户名
@
而不是密码上——通常这是我在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