Java - HttpURLConnection - 请求 header 中未显示内容长度

标签 java post httprequest

我创建了一个普通的 HttpURLConnection 对象。例如,我设置了 3 个请求 header 。

HttpURLConnection conn = (HttpURLConnection) someURL.openConnection();
conn.setDoInput(true);
conn.setRequestMethod("POST");
conn.setRequestProperty("User-Agent", "some_agent");
conn.setRequestProperty("Content-Type", "some_content-type");
conn.setRequestProperty("Content-Length", "some_content-length");

我查看设置的请求 header 。

System.out.println(conn.getRequestProperties());

标题“Content-Length”从不包含在结果中。

{User-Agent=[some_agent], Content-Type=[some_content-type]}

如果我调用 conn.getRequestProperty("Content-Length"),我也会得到 null

代码工作正常,但为什么“Content-Length”消失了?

最佳答案

不能设置内容长度;它是自动完成的。但是,当内容长度事先已知时,您可以使用 setFixedLengthStreamingMode()

关于Java - HttpURLConnection - 请求 header 中未显示内容长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18674164/

相关文章:

java - 提示 JTextField 使其变成灰色

android - 将 MS Word 文件从 Android 上传到 .Net WCF?

带有授权和 JSON 数据的 C# HttpClient 发布 - 401 未经授权

c# - 是否可以将数据从 C# 应用程序发送到网站/网络服务器?

c# - YouTube HTTP请求

java - 如何使用 Maven 构建 ExtJS 项目

java - 为什么从请求中获取第一个参数是错误的?

java - 在 Spring-mvc 拦截器中,如何访问处理程序 Controller 方法?

android - 为 firebase 函数获取 java http 请求并快速放入

http - Web 服务器的连接数限制