java调用第三方接口application/x-www-form-urlencoded
时间: 2023-09-13 15:08:02 浏览: 110
java通过url调用接口
4星 · 用户满意度95%
Java 调用第三方接口时,如果请求参数的编码方式是 `application/x-www-form-urlencoded`,可以使用 `java.net.URLConnection` 类来发送 POST 请求。
以下是一个示例代码:
```java
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLEncoder;
public class HttpPostRequest {
public static void main(String[] args) throws Exception {
String url = "http://example.com/api";
String charset = "UTF-8";
String param1 = "value1";
String param2 = "value2";
String query = String.format("param1=%s¶m2=%s",
URLEncoder.encode(param1, charset),
URLEncoder.encode(param2, charset));
URLConnection connection = new URL(url).openConnection();
connection.setDoOutput(true); // 设置为 POST 请求
connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded;charset=" + charset);
try (OutputStream output = connection.getOutputStream()) {
output.write(query.getBytes(charset));
}
try (BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()))) {
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
}
}
}
```
这个代码将发送一个 POST 请求到 `http://example.com/api`,请求参数为 `param1=value1¶m2=value2`,并输出响应数据。其中,`URLEncoder.encode()` 方法用于对参数进行 URL 编码。
阅读全文