Escaping username characters in basic auth URLs


When using http basic authentication, the username can be passed in the URL, e.g.

But now suppose the username is an email address, e.g. Doing this is clearly ambiguous:

Is there a way to escape the @ character in the username? I tried standard URL encoding:

But that didn't do it.

Best Solution

According to RFC 3986, section 3.2.1, it needs to be percent encoded:

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

So it looks like

Is right. Where are you trying to read it? Maybe you need to manually decode the value?