【发布时间】:2013-09-07 14:10:51
【问题描述】:
我创建了一个普通的 HttpURLConnection 对象。例如,我设置了 3 个请求标头。
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");
我查看设置的请求标头。
System.out.println(conn.getRequestProperties());
标题“Content-Length”永远不会包含在结果中。
{User-Agent=[some_agent], Content-Type=[some_content-type]}
如果我打电话给conn.getRequestProperty("Content-Length"),我也会收到null。
代码运行良好,但为什么“Content-Length”消失了?
【问题讨论】:
-
设置 Content-Length 没有多大意义,因为它是由您尝试访问的
URL控制的。 -
@JoshM 在 POST(或 PUT)中,需要设置请求体的 Content-Length。
标签: java post httprequest