A GET request usually does not pass the data in any other way than the headers, so you must pass the string encoded in the URL if you want to use 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}
In the regular post form, the Content-Type: application/x-www-form-urlencoded header allows the server to know the format in key = val format, while the page associated with you sends Content-Type: application/json-rpc; charset=UTF-8 Content-Type: application/json-rpc; charset=UTF-8 . After the headers (which end with an empty line), the data follows in the specified format.
source share