为了在URL中发送用户名和密码,我们使用以下格式:
http://username:password@www.my_site.com
但我的用户名是 my_email@gmail.com
。
问题出在 @
符号上。
我该怎么解决呢?
为了在URL中发送用户名和密码,我们使用以下格式:
http://username:password@www.my_site.com
但我的用户名是 my_email@gmail.com
。
问题出在 @
符号上。
我该怎么解决呢?
您需要将 @ 编码为 %40。
@
,这也适用于由密码管理器创建的随机密码,这种情况越来越普遍。 - Adambeanname.lastname@mail.com
,我的密码是 abc!@#
,我应该使用 name%2Elastname%40mail%2Ecom
和 abc%21%40%23
吗? - m4l490n只需执行:
http://my_email%40gmail.com:password@www.my_site.com
我很惊讶问题出在用户名中的@
字符,而不是密码——通常这是我在url授权或路径部分遇到保留字符的地方。
要解决特殊字符的一般情况:只需用F12打开Chrome控制台,然后粘贴encodeURIComponent(str)
,其中str
是您的密码(或用户名),然后使用编码结果来形成带有密码的URL。
或者只需运行下面的代码片段并将其转储到此处。
Put Url here
<br/>
<input type='text' id='urlEncodeField' style="width:250px" value='my_email@gmail.com' />
<input type='button' value='Click' onClick="console.log(encodeURIComponent(document.getElementById('urlEncodeField').value))" />
希望这能为您节省一些时间。
使用%40代替@符号进行URL编码的用户名。这样做可以正确传递它。
@
编码为%40
。 - Marc B