Passing JSON data in get request as request body
android, httpurlconnection, httpwebrequest, java
Solution
Don't do it.
Read this: http://tech.groups.yahoo.com/group/rest-discuss/message/9962
"Yes. In other words, any HTTP request message is allowed to contain a message body, and thus must parse messages with that in mind. Server semantics for GET, however, are restricted such that a body, if any, has no semantic meaning to the request. The requirements on parsing are separate from the requirements on method semantics.
So, yes, you can send a body with GET, and no, it is never useful to do so.
This is part of the layered design of HTTP/1.1 that will become clear again once the spec is partitioned (work in progress)."
For other interesting discussions on this check this:
https://stackoverflow.com/a/978094/550967
https://stackoverflow.com/a/978173/550967
https://stackoverflow.com/a/978519/550967
Problem
Hi i have to send a get request to an url http://onemoredemo.appspot.com/group?authToken=access_token&authMethod=oauth with request body contains json object as shown below. ``` {"goupid":"some_variable" } ``` Here is a section of java code for sending get request: ``` URL url1=new URL("http://onemoredemo.appspot.com/group?authToken="+access_token+"&authMethod=oauth"); conn=(HttpURLConnection) url1.openConnection(); conn.addRequestProperty("Content-type", "application/x-www-form-urlencoded"); conn.setRequestMethod("GET"); conn.setDoOutput(true); JSONObject jj=new JSONObject(); HttpGet get; get. jj.put("groupid", "testing@iritesh.com"); conn.addRequestProperty("Content-TYpe", "application/json"); conn.getOutputStream().write(jj.toString().getBytes()); conn.connect(); InputStream is=conn.getInputStream(); ``` I am getting an error `java.io.FileNotFoundException`. I sent a request from mozilla browser to url http://onemoredemo.appspot.com/group?authToken=ya29.AHES6ZRDl-RqiA8W0PhybU_hMluHrHRjlJBvq06Vze0izJq0Ovjc088&authMethod=oauth It was giving me correct response but now its more than one hour so acccesstoken expire. I know its weird to send parameter as well as requestbody in get request but i have to send it. Please help in how to send a json object in request body in get request.