Vraag Escapende gebruikersnaamtekens in standaard auth-URL's


Bij gebruik van http-basisauthenticatie kan de gebruikersnaam in de URL worden doorgegeven, bijvoorbeeld

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

Maar stel nu dat de gebruikersnaam een ​​e-mailadres is, bijvoorbeeld david@company.com. Dit doen is duidelijk dubbelzinnig:

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

Is er een manier om te ontsnappen aan het @ -teken in de gebruikersnaam? Ik heb de standaard URL-codering geprobeerd:

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

Maar dat heeft het niet gedaan.


41
2017-07-16 15:50


oorsprong


antwoorden:


Volgens RFC 3986, sectie 3.2.1, moet het percentage gecodeerd zijn:

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

Dus het lijkt erop

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

Heeft gelijk. Waar probeer je het te lezen? Misschien moet u de waarde handmatig decoderen?


58
2017-07-16 16:03