用途
curl-http 是一份 curl 与 HTTPie 的参考技能,用于 HTTP 请求构建和 API 测试。当用户提出“test API”“make HTTP request”“curl POST”“send request”等请求时使用。
主要能力
该技能按主题组织了大量 curl 与 HTTPie 用法示例:
- HTTP 方法:GET、POST(JSON 体)、PUT、PATCH、DELETE 的调用方式,包括 -s、-i、-I 等选项。
- 请求头:单个与多个请求头、覆盖默认 User-Agent、移除默认请求头。
- 请求体:JSON、URL 编码表单、multipart 文件上传、原始二进制上传。
- 认证:Basic auth、Bearer token、API key(请求头或查询参数)、OAuth 2.0 client credentials 流程。
- 响应处理:提取状态码、仅查看响应头、保存响应到文件(-o、-O、-D)、跟随重定向、脚本中的成功检查、用 jq 或 python3 -m json.tool 格式化 JSON。
- 调试:-v 详细模式、--trace 完整十六进制追踪、--trace-time 带时间戳追踪。
- 计时:单项指标与完整分解(DNS、连接、TLS、TTFB、总计、大小、速度)。
- Cookie:发送、保存、加载与 cookie jar 用法。
- SSL/TLS:跳过证书验证、自定义 CA 包、客户端证书、强制 TLS 版本。
- 代理:HTTP 代理、SOCKS5 代理、DNS 经由代理、代理认证、绕过代理。
- 限速与重试:--retry、--retry-delay、--retry-all-errors、--limit-rate、超时设置。
- 文件下载:下载、静默下载、断点续传、多文件下载、重命名保存。
- API 测试模式:CRUD 循环、GraphQL、Webhook 测试、健康检查脚本。
- curl 转代码:通过 --libcurl 生成 C 源码,以及第三方转换器(如 curlconverter)。
- HTTPie 替代方案:http/https 命令的 GET、POST JSON、认证、文件上传下载用法。
- 对比表:curl 与 HTTPie 在常见操作上的对照。
- 常见陷阱:引号处理、Windows 与 Unix 差异、重定向、GET 带 body、查询参数编码、/dev/null 与 NUL、二进制输出管道等问题。
使用方式
技能本身以参考文档形式提供,直接查阅对应主题的示例命令即可。示例中包含可直接运行的 curl 与 http 命令、选项、代码片段,例如通过 curl --libcurl generated.c 生成 C 源码,或使用 npm install -g curlconverter 与 curlconverter --language python 'curl ...' 进行转换。
适用场景
适用于通过命令行发起 HTTP 请求、调试 API、编写健康检查脚本、测试 GraphQL 与 Webhook、下载文件、排查网络与 TLS、代理及计时问题,以及在 curl 和 HTTPie 之间选择写法。
限制
资料未提供该技能的收费、价格、平台支持范围或效果保证等信息,暂未提供。示例命令的实际可用性取决于本地环境、curl/HTTPie 版本及目标服务。