Ich versuche, eine Java-Klasse zu schreiben, um mich bei einer bestimmten Website anzumelden. Die Daten, die in der POST-Anforderung zum Anmelden gesendet wurden, sind
Beachten Sie auch, dass
Folgendes hilfreich sein kann , wenn Sie dem neueren RFC3986 für URLs folgen möchten , indem Sie eckige Klammern reservieren (für IPv6) und daher nicht codieren, wenn Sie etwas bilden, das Teil einer URL sein könnte (z. B. ein Host).
function fixedEncodeURI (str){return encodeURI(str).replace(/%5B/g,'[').replace(/%5D/g,']');}
Hoffentlich hilft dies den Menschen, ihre Probleme zu lösen, wenn sie auf diese Frage stoßen.
Während dieser Link die Frage beantworten kann, ist es besser, die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz bereitzustellen. Nur-Link-Antworten können ungültig werden, wenn sich die verknüpfte Seite ändert. - Aus dem Rückblick
Peter
@ Peter Danke, aber dies ist nur ein Link zum Online-Tool, der hier hilfreich sein kann. Da die Antworten bereits gegeben wurden, sind keine weiteren Erklärungen erforderlich.
Krzysztof Przygoda
1
Die Daten wurden wahrscheinlich ursprünglich aus einem Webformular veröffentlicht, das ungefähr so aussieht (aber wahrscheinlich viel komplizierter):
Wenn die Methode "get" anstelle von "post" wäre, würden Sie durch Klicken auf die Schaltfläche "Senden" zu einer URL gelangen, die ungefähr so aussieht:
Der Web - Server am anderen Ende nimmt wahrscheinlich die user[login]und user[password]Parameter, und sie in ein machen userObjekt mit loginund passwordFeldern die Werte enthalten.
Sie repräsentieren
[
und]
. Die Codierung wird als "URL-Codierung" bezeichnet .quelle
[]
wird durch zum%5B%5D
Zeitpunkt der URL-Codierung ersetzt.quelle
Nun, es ist die übliche URL-Codierung
So stehen sie für
[
jeweils]
quelle
Um einen kurzen Blick darauf zu werfen, können Sie mit diesem Online-Tool Prozent-En / Decodieren .
quelle
Die Daten wurden wahrscheinlich ursprünglich aus einem Webformular veröffentlicht, das ungefähr so aussieht (aber wahrscheinlich viel komplizierter):
Wenn die Methode "get" anstelle von "post" wäre, würden Sie durch Klicken auf die Schaltfläche "Senden" zu einer URL gelangen, die ungefähr so aussieht:
oder:
Der Web - Server am anderen Ende nimmt wahrscheinlich die
user[login]
unduser[password]
Parameter, und sie in ein machenuser
Objekt mitlogin
undpassword
Feldern die Werte enthalten.quelle
Nicht zuletzt ist es wichtig, warum diese Symbole in der URL vorkommen. Siehe https://www.php.net/manual/en/function.parse-str.php#76792 , insbesondere:
das obige erzeugt:
und was ist DIE Methode, um Abfragevariablen in Arrays zu trennen (zumindest in PHP).
quelle