http - 转义基本身份验证 URL 中的用户名字符

标签 http basic-authentication

当使用http basic authentication时,可以在URL中传递用户名,例如

http://david@foo.com/path/

但现在假设用户名是一个电子邮件地址,例如大卫@company.com。这样做显然是模棱两可的:

http://david@company.com@foo.com/path/

有没有办法转义用户名中的@字符?我尝试了标准的 URL 编码:

http://david%40company.com@foo.com/path/

但这并没有做到。

最佳答案

根据 RFC 3986 , section 3.2.1, 需要进行百分比编码:

  userinfo    = *( unreserved / pct-encoded / sub-delims / ":" )

看起来像

http://david%40company.com@foo.com/path/

是对的。你想在哪里阅读它?也许您需要手动解码该值?

关于http - 转义基本身份验证 URL 中的用户名字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6718471/

相关文章:

css - @font face 规则加载字体两次?

Symfony2安全.yml : http basic auth is returning 500 instead of 401

Python Windows 身份验证用户名和密码不起作用

javascript - Serviceworker 与 HTTP 基本身份验证冲突?

python - 使用 Python 读取 HTTP 服务器推送流

http - 从浏览器执行 HTTP PUT

java - 从前端应用程序查询其余后端应用程序时避免基本身份验证弹出窗口

javascript - Ajax : HTTP Basic Auth and authentication cookie

c - 如何在C HTTP客户端程序中向文件写入HTTP请求

android - HttpConnection 中的 setAllowUserInteraction() 是什么