Java可以通过以下几种方式调用第三方HTTP接口:
1. 使用Java内置的HttpURLConnection类:
```java
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class HttpClient {
public static void main(String[] args) {
try {
// 创建URL对象
URL url = new URL("http://example.com/api");
// 打开连接
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
// 设置请求方法
connection.setRequestMethod("GET");
// 发送请求
int statusCode = connection.getResponseCode();
if (statusCode == HttpURLConnection.HTTP_OK) {
// 读取响应
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String line;
StringBuilder response = new StringBuilder();
while ((line = reader.readLine()) != null) {
response.append(line);
}
reader.close();
// 处理响应
System.out.println(response.toString());
} else {
System.out.println("请求失败,状态码:" + statusCode);
}
// 关闭连接
connection.disconnect();
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
2. 使用第三方库Apache HttpClient:
```java
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.util.EntityUtils;
public class HttpClient {
public static void main(String[] args) {
try {
// 创建HttpClient对象
HttpClient httpClient = HttpClientBuilder.create().build();
// 创建HttpGet对象
HttpGet httpGet = new HttpGet("http://example.com/api");
// 发送请求并获取响应
HttpResponse response = httpClient.execute(httpGet);
// 获取响应实体
HttpEntity entity = response.getEntity();
// 解析实体中的内容
String result = EntityUtils.toString(entity);
// 处理响应
System.out.println(result);
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
3. 使用第三方库OkHttp:
```java
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
public class HttpClient {
public static void main(String[] args) {
try {
// 创建OkHttpClient对象
OkHttpClient client = new OkHttpClient();
// 创建Request对象
Request request = new Request.Builder()
.url("http://example.com/api")
.build();
// 发送请求并获取响应
Response response = client.newCall(request).execute();
// 获取响应体的内容
String result = response.body().string();
// 处理响应
System.out.println(result);
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
以上是三种常见的Java调用第三方HTTP接口的方式,根据具体情况选择合适的方式。