在基本身份validationurl中转义用户名字符

当使用http基本身份validation时,用户名可以通过URL传递,例如

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

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

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

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

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

但是,这并没有做到这一点。

根据RFC 3986 ,第3.2.1节,它需要百分比编码:

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

所以它看起来像

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

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