Wie kann ich meine raw Daten in eine HTTP-GET-Anfrage?
In dem Beispiel http://alx3apps.appspot.com/jsonrpc_example/ wenn ich auf den submit-button, merke ich (mit Firebug), dass mein browser sendet die Quelle:
{"params":["Hello ","Python!"],"method":"concat","id":1}
Es ist nicht posting ein parameter (zB. json=[encoded string from above]
), sondern nur die Entsendung eines raw-string, der den oben genannten Wert.
Gibt es einen weithin akzeptierten Weg, um repliziert diese über eine GET-Anfrage, oder muss ich nur urlencode dieselbe Zeichenfolge, und fügen Sie Sie als http://www.example.com/?json=%7b%22params%22%3a%5b%22Hello+%22%2c%22Python!%22%5d%2c%22method%22%3a%22concat%22%2c%22id%22%3a1%7d
? Ich verstehe, dass einige ältere Browser nicht in den Griff URI mehr als 250 Zeichen, aber ich bin OK mit, dass.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einer GET-Anfrage nicht in der Regel übertragen die Daten in sonstiger Weise außer dem Header, so sollten Sie übergeben Sie die Zeichenfolge kodiert in der URL, wenn Sie möchten, verwenden Sie GET.
In einem normalen Formular-post-header
Content-Type: application/x-www-form-urlencoded
lässt den server wissen, zu erwarten, dass das format Schlüssel=Wert-format in der Erwägung, dass die Seite, die du verlinkt sendetContent-Type: application/json-rpc; charset=UTF-8
. Nach dem Header (das sind beendet, mit der Leerzeile) der Daten erfolgt im festgelegten format.Sind Sie richtig, dass nur die POST übermittelt die Daten separat aus der URI. So urlencoding es in der querystring ist der einzige Weg zu gehen, wenn Sie verwenden müssen KOMMEN. (Gut, ich nehme an, Sie könnten versuchen, setzen von individuellen Anfrageheadern oder die Verwendung von cookies, aber nur die "allgemein akzeptierten" Weg ist, verwenden Sie die querystring.)