Reputation: 23529
I tried to create a post with the following...
HttpPost httppost = new HttpPost(URL);
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
httppost.setHeader(HTTP.CONN_DIRECTIVE, HTTP.CONN_KEEP_ALIVE);
String length = String.valueOf(httppost.getEntity().getContentLength());
httppost.setHeader(HTTP.CONTENT_LEN, length); //If commented out it works
but when I try to run the request I get the following error...
10-11 22:05:02.940: W/System.err(4203): org.apache.http.client.ClientProtocolException
I am guessing this is because the content length is wrong.
Upvotes: 3
Views: 2393
Reputation: 27548
Apache HttpClient (even its fork shipped with Android) always calculates content length based on the properties of the enclosed HTTP entity. One does not need (and should not) set Content-Length
and Transfer-Encoding
headers manually.
Upvotes: 5