HttpURLConnection 设置参数
时间: 2024-11-29 12:38:28 浏览: 49
`HttpURLConnection` 是 Java 中用于发送 HTTP 请求的标准库类。当你想要向服务器发送POST请求,并且需要携带参数时,可以使用它的 `setRequestProperty` 方法设置HTTP头信息,特别是对于GET请求中的查询参数,通常会在 URL 后面添加,而对于POST请求,参数通常会被放在请求体(request body)里。
**设置GET请求的URL参数:**
```java
URL url = new URL("http://example.com/api?param1=value1¶m2=value2");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET"); // 设置请求方法
// 如果参数较多,也可以选择这种方式:
// String query = "param1=value1¶m2=value2";
// connection.setRequestProperty("QUERY_STRING", query);
```
**设置POST请求的请求体参数:**
```java
String url = "http://example.com/api";
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true); // 需要设置允许输出数据
conn.setRequestMethod("POST"); // 设置请求方法
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); // 设置内容类型为表单格式
try (OutputStream os = conn.getOutputStream()) {
byte[] params = ("param1=value1¶m2=value2").getBytes(StandardCharsets.UTF_8);
os.write(params); // 写入请求体
}
```
在这里,你可以看到我们设置了 `Content-Type` 为 `application/x-www-form-urlencoded`,这是最常见的表单提交格式,适用于简单的键值对。
阅读全文