I'm setting the length of the content in my HttpURLConnection, for a PUT.
urlConnection.setRequestProperty("Content-Length", "" + responseJSONArray.toString(2).getBytes("UTF8").length);
The actual number of bytes is 74. However, when I query the content length of urlConnection I'm returned -1. Why is that? And why are lengths not equal (given that I set this)?
I must set the content-length because I'm receiving a 411 response from the server.
(Also, in the Sun examples I've seen the second argument of setRequestProperty is of type int and not String, which seems odd.)
You shouldn't set this header yourself. Use setFixedLengthStreamingMode() or setChunkedTransferMode().
Also do not forget to add a setDoOutput to tell your connection you are going to send data.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With