Repolode
dromara

dromara/jquick-curl

一个 Java 库,可直接把 curl 命令当作普通 Java 方法调用,无需手写 HTTP 客户端代码。

可替代:Postman

Star
1,093
Fork
71
未关闭 Issue
0
最近提交
5天前

这是什么?

jquick-curl 让 Java 开发者把 HTTP 请求写成 curl 命令,并像调用普通方法一样执行。可以在接口方法上使用 @JCurlCommand 注解声明命令,也可以集中写在 XML 文件中,再通过 JCurlInvoker.createProxy 生成动态代理。命令由 ANTLR 解析,经过基于 OkHttp 的连接池传输层发送。

库支持 -X、-H、-d、-F、-o、-b、-c、-u、-L、-x 等常用 curl 选项,因此可以直接粘贴从 Postman、Apifox 或浏览器开发者工具复制的命令。它还支持运行时解析 ${name} 和 #{name} 占位符、在 XML 中通过 <if> 表达式按条件添加请求头,并提供 Netscape 格式的 Cookie 文件用于保持会话。

超时、连接池、重试、重定向和拦截器等全局配置统一通过 JQuickCurlConfig 单例完成。项目属于 JQuick 生态,已发布到 Maven Central,支持 JDK 8 及以上版本。

核心功能

  • 01通过 @JCurlCommand 注解或 XML 直接用 curl 命令声明 HTTP 请求。
  • 02借助 JCurlInvoker.createProxy 将接口直接转换为可用的客户端。
  • 03支持 -F 多部分文件上传与 -o 文件下载。
  • 04通过 -b、-c 处理 Cookie,并持久化 Set-Cookie。
  • 05通过 JQuickCurlConfig 统一配置超时、连接池、重试和重定向。
  • 06支持 HTTP 与 SOCKS5 代理,以及用 -k 跳过证书校验。

适用场景

  • 将从 Postman 或浏览器开发者工具复制的请求转换为 Java 服务调用。
  • 把大量第三方 API 定义集中放在 XML 中,与 Java 代码分离。
  • 调用需要登录会话的接口,并将 Cookie 持久化到文件中复用。
  • 编写集成测试或批量执行一组 curl 命令的脚本。

标签

常见问题

jquick-curl 是什么?
一个 Java 库,可直接把 curl 命令当作普通 Java 方法调用,无需手写 HTTP 客户端代码。 jquick-curl 让 Java 开发者把 HTTP 请求写成 curl 命令,并像调用普通方法一样执行。可以在接口方法上使用 @JCurlCommand 注解声明命令,也可以集中写在 XML 文件中,再通过 JCurlInvoker.createProxy 生成动态代理。命令由 ANTLR 解析,经过基于 OkHttp 的连接池传输层发送。
jquick-curl 可以免费使用吗?用的什么许可证?
jquick-curl 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
jquick-curl 还在维护吗?
活跃维护中。jquick-curl 最近一次提交是在 2026年10月15日。
jquick-curl 适合用来做什么?
将从 Postman 或浏览器开发者工具复制的请求转换为 Java 服务调用。 把大量第三方 API 定义集中放在 XML 中,与 Java 代码分离。 调用需要登录会话的接口,并将 Cookie 持久化到文件中复用。 编写集成测试或批量执行一组 curl 命令的脚本。
在哪里获取 jquick-curl?
源代码和安装说明在 GitHub 上:https://github.com/dromara/jquick-curl

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目