Запрос GET обычно не передает данные каким-либо другим способом, кроме заголовков, поэтому вы должны передать строку, закодированную в URL, если вы хотите использовать GET.
POST http://alx3apps.appspot.com/jsonrpc_example/json_service/ HTTP/1.1
Host: alx3apps.appspot.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-GB; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-gb,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Content-Type: application/json-rpc; charset=UTF-8
X-Requested-With: XMLHttpRequest
Referer: http://alx3apps.appspot.com/jsonrpc_example/
Content-Length: 55
Pragma: no-cache
Cache-Control: no-cache
{"params":["Howdy","Python!"],"method":"concat","id":1}
В обычной форме отправьте заголовок Content-Type: application/x-www-form-urlencoded
, чтобы сервер знал, что он ожидает формат в формате key = val, тогда как страница, на которую вы ссылаетесь, отправляет Content-Type: application/json-rpc; charset=UTF-8
. После заголовков (которые заканчиваются пустой строкой) данные следуют в указанном формате.