Java connection.setRequestProperty和写入urloutputstream是否相同?

Java connection.setRequestProperty和写入urloutputstream是否相同?,java,urlconnection,Java,Urlconnection,是 同 connection.setRequestProperty(key, value); ? 如果没有,请更正。不,没有。URLConnection#setRequestProperty()设置请求头。对于HTTP请求,您可以找到所有可能的头 writer只写请求正文。如果POST包含urlencoded内容,您通常会将查询字符串写入请求体,而不是像GET那样将其附加到请求URI 也就是说,connection.setDoOutput(true)已经在HTTP URI的情况下隐式地将请求方

connection.setRequestProperty(key, value);
?


如果没有,请更正。

不,没有。
URLConnection#setRequestProperty()
设置请求头。对于HTTP请求,您可以找到所有可能的头

writer
只写请求正文。如果
POST
包含urlencoded内容,您通常会将查询字符串写入请求体,而不是像
GET
那样将其附加到请求URI

也就是说,
connection.setDoOutput(true)
已经在HTTP URI的情况下隐式地将请求方法设置为
POST
(因为隐式地需要写入请求体),因此执行
连接。setRequestMethod(“POST”)之后是不必要的

connection.setRequestProperty(key, value);
OutputStreamWriter writer = new OutputStreamWriter(connection.getOutputStream());
writer.write("key=" + value);
writer.close();