I try to make a request on server by HttpGet. But in message body should be a json object. Code below is not working because unit_id and sercret_key are not sent on server in bo
Basically, you cannot send row data in the body (JSON or anything) with an HTTP/GET request. The protocol simply does not allow you to do that. Obviously, you will have to use POST to do that in Android too. :)
UPDATE
I was incorrect. Infact the protocol does allow you to put an entity into the request object. This class can be used instead of Apache HttpGet
.
public class HttpGetWithEntity extends HttpEntityEnclosingRequestBase {
public HttpGetWithEntity() {
super();
}
public HttpGetWithEntity(URI uri) {
super();
setURI(uri);
}
public HttpGetWithEntity(String uri) {
super();
setURI(URI.create(uri));
}
@Override
public String getMethod() {
return HttpGet.METHOD_NAME;
}
}
And use it like as follows,
HttpClient client = new DefaultHttpClient();
HttpGetWithEntity myGet = new HttpGetWithEntity("Url here");
myGet.setEntity(new StringEntity("This is the body", "UTF8"));
HttpResponse response = client.execute(myGet);
The source for HttpGetWithEntity
is found here