Http基本認証を使用する場合、ユーザー名をURLで渡すことができます。
http://[email protected]/path/
しかし今、ユーザー名が電子メールアドレスであるとします。 [email protected]。これを行うことは明らかに曖昧です:
http://[email protected]@foo.com/path/
ユーザー名の@文字をエスケープする方法はありますか?私は標準のURLエンコードを試しました:
http://david%[email protected]/path/
しかし、それはしませんでした。
RFC 3986 、セクション3.2.1によると、パーセントエンコードする必要があります。
userinfo = *( unreserved / pct-encoded / sub-delims / ":" )
だから
http://david%[email protected]/path/
は正しい。どこで読もうとしていますか?たぶん、手動で値をデコードする必要がありますか?