Полностью не отвечая на вопрос, просто добавив некоторую информацию.
RFC 2068 (HTTP) раздел 3.2.1 утверждает, что @
явно разрешено в части пути:
URI = ( absoluteURI | relativeURI ) [ "#" fragment ]
relativeURI = net_path | abs_path | rel_path
abs_path = "/" rel_path
rel_path = [ path ] [ ";" params ] [ "?" query ]
path = fsegment *( "/" segment )
fsegment = 1*pchar
segment = *pchar
pchar = uchar | ":" | "@" | "&" | "=" | "+"