393 Stimmen

Was bedeuten %5B und %5D in POST-Anfragen?

Ich versuche, eine Java-Klasse zu schreiben, um mich bei einer bestimmten Website anzumelden. Die Daten, die in der POST-Anfrage zur Anmeldung gesendet werden, sind

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

Ich bin neugierig, was die %5B y %5D bedeutet in der Tonart Benutzeranmeldung .

Wie kann ich diese Daten entschlüsseln?

674voto

Boris Strandjev Punkte 45062

Wie in dieser Antwort über aquí : str='foo%20%5B12%5D' kodiert foo [12] :

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

Dies wird als Prozentkodierung und wird für die Kodierung von Sonderzeichen in den Url-Parameterwerten verwendet.

EDIT Übrigens, während ich las https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/encodeURI#Description Mir ist gerade klar geworden, warum so viele Menschen die gleiche Suche durchführen. Siehe den Hinweis am Ende der Seite:

Außerdem ist zu beachten, dass, wenn man sich an den neueren RFC3986 für URLs, wodurch eckige Klammern reserviert werden (für IPv6) und somit nicht kodiert werden, wenn etwas gebildet wird, das Teil einer URL sein könnte (wie z. B. ein Host), kann das Folgende helfen.

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

Ich hoffe, dass dies den Menschen helfen wird, ihre Probleme zu lösen, wenn sie über diese Frage stolpern.

52voto

ruakh Punkte 167025

Sie repräsentieren [ y ] . Die Kodierung wird als "URL-Kodierung" .

20voto

Lalit Bhudiya Punkte 4196

[] wird ersetzt durch %5B%5D zum Zeitpunkt der URL-Kodierung.

12voto

Voo Punkte 27974

Nun, es ist das Übliche url-Kodierung

Sie stehen also für [ bzw. ]

10voto

Xeriaz Punkte 111

Um diese Werte herauszufinden, können Sie einfach die Konsole in Ihrem Browser verwenden und Folgendes tun

console.log(decodeURI('user%5Blogin%5D=username&user%5Bpassword%5D=123456'))

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X