httpconnection POST 必须传递 body 吗
时间: 2024-03-01 15:52:44 浏览: 26
对于 HTTP POST 请求,不一定需要传递请求体(Body)。具体是否需要传递请求体取决于你所请求的 API 或服务器的要求。
当需要传递请求参数时,可以将参数放在请求体中传递。但是,如果不需要传递请求参数,则可以不传递请求体。
在使用 Java 中的 HttpURLConnection 发送 POST 请求时,如果需要传递请求体,可以使用以下代码:
```
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
connection.setDoOutput(true);
DataOutputStream outputStream = new DataOutputStream(connection.getOutputStream());
outputStream.writeBytes(parameters); // 参数放在请求体中
outputStream.flush();
outputStream.close();
```
其中,setDoOutput(true) 表示要向服务器传递请求体,parameters 是需要传递的参数。如果不需要传递请求体,则不需要使用 setDoOutput(true) 方法,并且也不需要写入参数数据。
需要注意的是,如果你只想发送一个空的 POST 请求,也需要在请求体中传递一个空的字符串。否则,如果不传递请求体,服务器可能会返回 411 Length Required 的错误。