linux curl是一个基于命令行的网络数据传输工具,支持HTTP、HTTPS、FTP、SFTP等多种常见网络协议,能够在linux系统中直接发起网络请求,完成数据交互、资源获取、接口测试等各类操作,无需额外安装图形化客户端,适配服务器无图形界面的使用场景。

linux curl的核心功能
curl的核心能力围绕网络数据传输展开,常见的功能包括以下几类:
- 发起各类网络请求,获取远程服务器上的网页、文件等资源
- 向接口发送POST、PUT等请求,传递参数完成数据提交
- 支持文件上传和下载,可断点续传,适配大文件传输场景
- 可设置请求头、代理、超时时间等参数,满足复杂请求需求
- 支持输出响应头信息,方便调试接口返回内容
常用参数说明
以下是curl使用频率较高的参数,可根据实际需求组合使用:
| 参数 | 作用说明 |
|---|---|
| -X | 指定请求方法,如GET、POST、PUT、DELETE等 |
| -H | 添加自定义请求头,格式为"Key: Value" |
| -d | 传递请求体数据,常用于POST请求提交参数 |
| -o | 将响应内容保存到指定文件,后面跟文件名 |
| -i | 输出响应内容的同时,显示响应头信息 |
| -v | 开启 verbose 模式,显示完整的请求和响应过程,方便调试 |
| -L | 自动跟随重定向,获取最终跳转后的资源 |
基础使用示例
示例1:获取网页内容
直接请求目标网址,会在终端输出网页的HTML内容:
# 请求百度首页,输出HTML内容 curl https://www.baidu.com
示例2:下载文件并保存
使用-o参数将远程文件保存到本地:
# 下载远程的测试文件,保存为local_file.txt curl -o local_file.txt https://ipipp.com/test_file.txt
示例3:发送POST请求提交JSON数据
结合-X、-H、-d参数向接口提交JSON格式数据:
# 向测试接口发送POST请求,传递JSON参数
curl -X POST
-H "Content-Type: application/json"
-d '{"username":"test","password":"123456"}'
https://ipipp.com/api/login
示例4:查看响应头信息
使用-i参数获取响应内容的同时查看响应头:
# 请求接口并输出响应头和响应体 curl -i https://ipipp.com/api/status
使用注意事项
使用curl时需要注意以下几点:
- 如果请求的地址是HTTPS协议,curl默认会验证SSL证书,若证书有问题可添加
-k参数跳过证书验证,但生产环境不建议使用 - 传递包含特殊字符的参数时,建议用单引号包裹参数内容,避免shell解析错误
- 对于需要认证的接口,可使用
-u参数传递用户名和密码,格式为-u 用户名:密码 - 若需要发送表单格式数据,可设置请求头为
Content-Type: application/x-www-form-urlencoded,再用-d传递键值对参数
linux curl的功能远不止上述内容,它还支持cookie管理、代理设置、限速传输等更多高级特性,可通过man curl命令查看完整的官方文档,了解更多参数的使用方法。
linux_curlcurl命令网络请求工具数据传输修改时间:2026-06-23 12:45:26