1. ホーム
  2. java

[解決済み] POSTリクエストの%5Bと%5Dは何の略ですか?

2022-02-05 05:41:22

質問

あるWebサイトにログインするためのJavaクラスを書こうとしています。ログインするためのPOSTリクエストで送られるデータは

user%5Blogin%5D=username&user%5Bpassword%5D=123456

が何なのか気になりますね。 %5B%5D とは、キーで ユーザーログイン .

これらのデータをどのようにデコードすればよいのでしょうか?

どのように解決するのですか?

この回答は、以下の通りです。 ここで : str='foo%20%5B12%5D' エンコード foo [12] :

%20 is space
%22 is quotes
%5B is '['
and %5D is ']'

というものです。 パーセントエンコーディング で、URLのパラメータ値に含まれる特殊文字をエンコードする際に使用されます。

EDIT ところで、私が読んでいたのは https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/encodeURI#Description なぜ、多くの人が同じような検索をするのか、ふと思ったんです。ページ下部の注釈をご覧ください。

<ブロッククオート

また、より最近の RFC3986 URLの角括弧は(IPv6用に)予約されているため、URLの角括弧は使用できません。 URLの一部となりうるもの(たとえば ホスト) の場合、以下のようにするとよいでしょう。

function fixedEncodeURI (str) {
    return encodeURI(str).replace(/%5B/g, '[').replace(/%5D/g, ']');
}

この質問でつまずいたときに、問題を解決する助けになればと思います。