Java实现模拟curl请求HTTPS接口:带Header和参数的详细示例
在Java中,我们可以使用HttpURLConnection或者第三方库如Apache HttpClient或OkHttp来模拟curl请求。以下是一个使用HttpURLConnection的例子: ```java import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; public class Main { public static void main(String[] args) throws Exception { String url = "https://api.example.com/endpoint"; // 替换为你的接口地址 String apiKey = "your_api_key"; // 替换为你的API key String requestBody = "param1=value1¶m2=value2"; // 替换为你的请求参数 URL obj = new URL(url); HttpURLConnection con = (HttpURLConnection) obj.openConnection(); // 设置请求方法(GET, POST等) con.setRequestMethod("POST"); // 设置请求头 con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); con.setRequestProperty("Authorization", "Bearer " + apiKey); // Bearer token方式 // 发送请求 con.setDoOutput(true); try (BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(con.getOutputStream()))) { writer.write(requestBody); } // 获取响应 int responseCode = con.getResponseCode(); System.out.println("Response Code : " + responseCode); BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream())); String inputLine; StringBuffer response = new StringBuffer(); while ((inputLine = in.readLine()) != null) { response.append(inputLine); } in.close(); // 打印响应 System.out.println(response.toString()); } } ``` 注意:这个例子假设你的API需要Bearer令牌进行身份验证。如果你的API使用不同的认证方式,你需要相应地修改`setRequestProperty`方法中的头信息。 如果你使用的是POST请求并且请求体包含JSON数据,你可能需要设置`Content-Type`为`application/json`,并将请求体转换为字节数组发送。对于这种情况下,你可以使用`org.json.JSONObject`或`com.google.gson.JsonObject`来创建JSON对象。 ######[AI写代码神器 | 441点数解答 | 2024-04-23 12:05:56]
- PHP 代码转易语言:API 请求及 JSON 处理改写全解析(字节豆包 | 532点数解答 | 2025-01-29 23:05:04)357
- 易语言实现高并发 HTTP 操作:多线程、线程池与异步操作实战(字节豆包 | 849点数解答 | 2025-06-03 23:17:33)282
- App.vue 中头部代码结构与样式剖析(字节豆包 | 31点数解答 | 2025-05-14 09:58:18)262
- Java 实现复制粘贴功能:打造简易文本复制粘贴程序(GPT | 1497点数解答 | 2024-08-25 09:40:33)426
- PHP代码:循环检测域名状态,借助HTTP请求与CURL实现(GPT | 947点数解答 | 2024-10-27 11:56:50)269
- Java实现链表反转:迭代与递归双解法详解及开发实战指南(DeepSeek | 1409点数解答 | 2026-03-15 15:09:29)50
- 易语言:实现搜索通配符功能,解决搜索内容超255问题(字节豆包 | 32点数解答 | 2026-02-09 16:44:31)57
- 代码优化:“A_寻找通配符”子程序的改进之路(字节豆包 | 1248点数解答 | 2026-02-09 16:45:52)61
- 易语言:A_寻找通配符子程序完整实现及详细代码解读(字节豆包 | 1368点数解答 | 2026-02-09 16:49:12)55
- HTML 页面排版:安装 ZeroSSL 证书的详细指南及文件要求(字节豆包 | 33点数解答 | 2024-08-26 10:37:34)309
- 解决数据库“dm.jdbc.driver.dmexception: 数据溢出”问题的全步骤指南(阿里通义 | 598点数解答 | 2024-10-15 15:48:38)328
- 达梦数据库数据溢出问题排查及多维度解决方法(阿里通义 | 403点数解答 | 2024-10-15 15:48:41)1207