Java,HttpURLConnection 和设置内容长度

标签 java android httpurlconnection content-length

我正在为 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/

相关文章:

java - 如果服务器返回错误状态,java.net.HttpUrlConnection是否总是抛出IOException?

java - 重用 HttpURLConnection

java - 简单日期格式设置为 01

java - 从存在于 arraylist 中的 hashmap 中消除空键

android - 构建 apk 时复制了原始 Assets

android - 在 android 的 ListView 中拖放项目?

java - 设置 TreeViewer 滚动条的样式

java - 在 Java 中对 HashMap 值进行排序不返回正确的顺序

java - 如何在 firebase 中检查查询过程是否完成

android - 将 Cookie 从 HttpURLConnection (java.net.CookieManager) 传递到 WebView (android.webkit.CookieManager)