java 调用http接口
时间: 2023-11-20 13:05:43 浏览: 17
Java 调用 HTTP 接口可以使用 Java 提供的 HttpURLConnection 类或者第三方库如 Apache 的 HttpClient。
下面是使用 HttpURLConnection 类的示例代码:
```java
import java.net.HttpURLConnection;
import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class HttpConnectionExample {
public static void main(String[] args) {
try {
URL url = new URL("http://example.com/api");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
} catch (Exception e) {
System.out.println(e);
}
}
}
```
这个示例代码中,我们首先创建一个 URL 对象,然后使用它创建一个 HttpURLConnection 对象。我们设置请求方法为 GET,然后使用 BufferedReader 读取响应内容。
如果你想要 POST 请求,可以使用类似下面这样的代码:
```java
import java.net.HttpURLConnection;
import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.nio.charset.StandardCharsets;
public class HttpConnectionExample {
public static void main(String[] args) {
try {
URL url = new URL("http://example.com/api");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
connection.setDoOutput(true);
String requestBody = "param1=value1¶m2=value2";
byte[] requestBodyBytes = requestBody.getBytes(StandardCharsets.UTF_8);
connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
connection.setRequestProperty("Content-Length", String.valueOf(requestBodyBytes.length));
OutputStream outputStream = connection.getOutputStream();
outputStream.write(requestBodyBytes);
outputStream.flush();
outputStream.close();
BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
} catch (Exception e) {
System.out.println(e);
}
}
}
```
这个示例代码中,我们设置请求方法为 POST,并将请求体写入输出流中。我们也设置了请求头 Content-Type 和 Content-Length。
以上是使用 HttpURLConnection 类的示例代码。如果你想要使用 HttpClient,可以查看 HttpClient 的官方文档。