Que signifient% 5B et% 5D dans les requêtes POST?

J’essaie d’écrire une classe Java pour me connecter à un certain site Web. Les données envoyées dans la requête POST pour se connecter sont

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

Je suis curieux de savoir ce que signifie %5B et %5D dans la connexion de l’utilisateur clé.

Comment encoder ces données?

Selon cette réponse ici : str='foo%20%5B12%5D' code pour foo [12] :

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

Cela s’appelle le codage en pourcentage et est utilisé pour coder des caractères spéciaux dans les valeurs du paramètre url.

EDIT Au fait, alors que je lisais https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/encodeURI#Description , je me suis juste demandé pourquoi tant de personnes effectuaient la même recherche. Voir la note au bas de la page:

Notez également que si vous souhaitez suivre la RFC3986 plus récente pour les URL, en mettant les crochets en tête (pour IPv6) et donc non encodés lors de la formation de quelque chose pouvant faire partie d’une URL (un hôte par exemple).

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

Espérons que cela aidera les gens à résoudre leurs problèmes quand ils tombent sur cette question.

Ils représentent [ et ] . L’encodage s’appelle “encodage d’URL” .

Eh bien, c’est le codage url habituel

Donc, ils représentent [ respectivement ]

[] est remplacé par %5B%5D au moment du codage de l’URL.

Pour jeter un coup d’œil, vous pouvez utiliser un outil en ligne .

Les données auraient probablement été postées à l’origine à partir d’un formulaire Web ressemblant un peu (mais probablement beaucoup plus compliqué):

 
User login
User password

Si la méthode était “get” au lieu de “post”, cliquer sur le bouton “submit” vous amènerait à une URL ressemblant à ceci:

http://example.com/?user%5Blogin%5D=username&user%5Bpassword%5D=123456

ou:

http://example.com/?user%5Blogin%5D=username&user%5Bpassword%5D=123456

Le serveur Web à l’autre extrémité prendra probablement les parameters user[password] user[login] et user[password] , et les transformera en object user avec des champs de login et de password contenant ces valeurs.