我正在为 PUT 设置我的 HttpURLConnection 中内容的长度。
urlConnection.setRequestProperty("Content-Length", "" + responseJSONArray.toString(2).getBytes("UTF8").length);
实际字节数是 74。但是,当我查询 urlConnection
的内容长度时,返回的是 -1
。这是为什么?为什么长度不相等(假设我设置了这个)?
我必须设置内容长度,因为我从服务器收到了 411
响应。
(此外,在 Sun examples 中,我看到 setRequestProperty
的第二个参数是 int
而不是 String
类型,这看起来很奇怪。)
最佳答案
您不应该自己设置此 header 。使用 setFixedLengthStreamingMode()
或 setChunkedTransferMode()
。
关于Java,HttpURLConnection 和设置内容长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7062349/