附另外一篇关联链接: curl 基本命令
1. 基础用法
1.1 发起 GET 请求
- 默认是
GET
请求。 - 如果需要格式化输出:
1.2 发起 POST 请求
发送数据到服务器:
发送 JSON 数据:
从文件中读取数据并发送:
1.3 下载文件
下载文件并保存到本地:
重命名文件:
显示下载进度:
1.4 添加请求头
添加多个请求头:
1.5 发送带参数的 URL
通过 GET
请求传递查询参数:
2. 高级用法
2.1 保存响应到文件
2.2 显示响应头
同时显示响应头和正文:
仅显示头信息并过滤内容:
2.3 处理 HTTPS
忽略 SSL 证书验证:
指定自定义 CA 证书:
2.4 设置身份验证
(1) HTTP Basic Authentication
(2) Bearer Token
(3) API Key
2.5 上传文件
上传文件(以表单形式):
发送多部分表单数据:
2.6 设置超时时间
--connect-timeout
:设置连接超时时间(秒)。-m
:设置总超时时间(秒)。
3. 常用功能选项
3.1 保存和恢复下载
断点续传:
3.2 模拟浏览器
通过 User-Agent
模拟浏览器:
3.3 发送自定义请求
支持的请求方法:GET
、POST
、PUT
、DELETE
、PATCH
。
3.4 Follow Redirects
启用自动跳转:
4. 测试和调试
4.1 显示详细调试信息
4.2 测试本地服务
发送请求到本地服务:
5. 批量操作
5.1 从文件读取 URL
批量下载文件:
urls.txt
内容示例:
5.2 使用循环发送请求
通过 Shell 循环发送多个请求:
6. 性能优化和负载测试
6.1 并发请求
使用 xargs
并发请求:
-P 10
:指定并发数。
7. 结合其他工具
7.1 配合 jq
解析 JSON
7.2 保存 Cookie
保存和加载 Cookie:
常用选项总结
选项 | 作用 |
---|---|
-X <method> | 指定请求方法(如 GET、POST、DELETE) |
-H "Header: Value" | 添加自定义请求头 |
-d "key=value" | 发送表单数据(POST 请求) |
-F "key=@file" | 上传文件 |
-o <filename> | 保存响应到文件 |
-u username:password | HTTP Basic 认证 |
-k | 忽略 SSL 证书验证 |
-L | 跟随重定向 |
-v | 显示详细的请求和响应信息 |
-C - | 断点续传下载 |
--connect-timeout <seconds> | 设置连接超时时间(秒) |