强大的命令行网络传输工具 cURL

开源免费、跨平台、支持 HTTP / HTTPS / FTP 等数十种协议,开发者与运维工程师必备的网络请求利器。

软件介绍

了解 cURL 是什么,以及为什么它如此受欢迎

cURL 是一款开源、免费的命令行网络传输工具,由瑞典开发者 Daniel Stenberg 于 1998 年创建并维护至今。 它能够在命令行下通过 URL 语法进行数据传输,支持 HTTP、HTTPS、FTP、FTPS、SCP、SFTP、TFTP、DICT、LDAP 等数十种网络协议。凭借轻量、稳定、跨平台的特性,cURL 已被广泛应用于接口测试、自动化脚本、爬虫开发、 运维部署等各类场景,是全球开发者最常使用的网络工具之一。了解具体能力可查看核心功能, 快速上手请参考使用帮助,遇到问题可查阅常见问题

轻量高效

体积小巧、启动迅速,命令行调用即可完成复杂网络请求。

多协议支持

内置支持 HTTP/HTTPS/FTP/SMTP 等二十余种主流网络协议。

跨平台运行

覆盖 Windows、macOS、Linux 及各类嵌入式系统,无缝切换。

开源免费

基于 MIT 许可协议开源,可自由用于商业与非商业项目。

核心功能

cURL 提供丰富的功能以满足各类网络传输需求

文件上传与下载

支持通过 HTTP、FTP 等协议上传或下载文件,支持断点续传、限速与进度显示,适合大文件传输。

认证与加密

支持 Basic、Digest、Bearer Token、客户端证书等多种认证方式,全面兼容 HTTPS、TLS 加密传输。

请求定制

可自定义请求方法、请求头、Cookie、Body、代理、超时等参数,灵活满足接口调试需求。

调试与诊断

提供详细模式 (-v)、仅响应头 (-I)、统计信息 (-w) 等输出选项,便于排查网络与接口问题,详见使用帮助

表单与 JSON

原生支持表单提交、文件上传、JSON 数据发送,是 RESTful API 测试与调试的得力助手。

脚本自动化

可轻松嵌入 Shell、Python、CI/CD 流水线,实现定时任务、监控告警、批量接口测试等自动化场景。

使用帮助

常用命令示例与参数速查,助您快速上手

获取网页内容

# 下载指定 URL 的网页内容并输出到终端
curl https://www.example.com

下载文件到本地

# -O 保留远程文件名,-L 跟随重定向
curl -L -O https://example.com/file.zip

发送 GET 请求并查看响应头

# -I 仅获取 HTTP 响应头信息
curl -I https://api.example.com/users

发送 JSON POST 请求

# -X 指定方法,-H 设置请求头,-d 携带数据
curl -X POST https://api.example.com/login \
  -H "Content-Type: application/json" \
  -d '{"user":"admin","pass":"123456"}'

携带 Cookie 与认证

# -b 发送 Cookie,-u 用户名密码认证
curl -b "session=abc123" \
  -u admin:password \
  https://api.example.com/data

详细调试模式

# -v 显示请求与响应的完整过程
curl -v https://www.example.com

常用参数速查表

cURL 常用参数说明与示例
参数 说明 示例
-X指定 HTTP 请求方法-X POST
-H添加自定义请求头-H "Content-Type: application/json"
-d发送请求数据-d '{"key":"value"}'
-O按原文件名保存-O URL
-o另存为指定文件名-o out.html URL
-L跟随重定向-L URL
-I仅获取响应头-I URL
-v显示详细通信过程-v URL
-u设置用户名密码-u user:pass
-b发送 Cookie-b "key=val"
-x使用代理服务器-x http://127.0.0.1:8080
--limit-rate限制传输速度--limit-rate 100k

常见问题

cURL 高频问答汇总,覆盖安装、使用、协议、报错等场景

cURL 是什么工具?

cURL 是一款开源免费的命令行网络传输工具,由瑞典开发者 Daniel Stenberg 于 1998 年创建。它能在命令行下通过 URL 语法进行数据传输,支持 HTTP、HTTPS、FTP、FTPS 等数十种网络协议,被广泛用于接口测试、自动化脚本、爬虫开发与运维部署。详细功能可查看核心功能栏目。

cURL 怎么安装?

Windows 可从本站下载页面获取安装包后解压并配置环境变量;macOS 系统自带 cURL,也可通过 brew install curl 升级;Linux 可使用 apt install curl(Debian/Ubuntu)或 yum install curl(CentOS)一键安装。

cURL 和 wget 有什么区别?

cURL 支持更多协议(HTTP/HTTPS/FTP/SCP/SMTP 等二十余种),默认输出到终端,擅长接口调试与数据传输;wget 专注 HTTP/HTTPS/FTP,默认保存为文件,支持递归下载整站。调试 API 用 cURL,批量下载网站用 wget

cURL 怎么发送 POST 请求?

使用 curl -X POST 命令,配合 -H 指定请求头、-d 携带数据。例如发送 JSON:

curl -X POST https://api.example.com/login -H "Content-Type: application/json" -d '{"user":"admin"}'

更多命令示例见使用帮助

cURL 支持哪些网络协议?

cURL 支持 HTTP、HTTPS、FTP、FTPS、SCP、SFTP、TFTP、DICT、LDAP、LDAPS、FILE、TELNET、IMAP、IMAPS、POP3、POP3S、SMTP、SMTPS、RTSP、RTMP、MQTT 等二十余种网络协议,是支持协议最丰富的命令行网络工具之一。

cURL 是免费的吗?可以商用吗?

cURL 完全免费开源,基于 MIT 许可证发布,可自由用于商业与非商业项目,无需付费或授权。但使用时需在软件文档中保留原作者版权声明。各版本修复与演进可查看版本更新日志

cURL 在 Windows 上怎么使用?

Windows 10 1803 及以上版本系统自带 cURL,可直接在 CMD 或 PowerShell 输入 curl --version 验证。旧版本 Windows 需下载安装包,解压后将 bin 目录路径添加到系统环境变量 PATH 中即可全局调用。

cURL 命令报错怎么排查?

添加 -v 参数查看详细通信过程,定位请求头、响应头与 SSL 握手信息;使用 -I 仅查看响应头。常见错误码:CURLE_COULDNT_CONNECT 表示连接失败,CURLE_SSL_CERTPROBLEM 为证书问题,CURLE_OPERATION_TIMEDOUT 为超时,可配合 --connect-timeout 调整。完整参数说明见使用帮助

版本更新日志

cURL 各版本发布记录与变更明细,助您了解功能演进与修复情况

v8.9.1 2024-08-14 最新稳定版
  • 修复 修复 --write-out 在 Windows 下输出 BOM 导致 JSON 解析失败的问题
  • 修复 修复 HTTP/2 在连接复用时偶发的头部丢失问题
  • 优化 提升 OpenSSL 3.x 后端的 TLS 握手性能
v8.9.0 2024-07-31 正式版
  • 新增 支持 --dl-url 选项,可直接通过 URL 指定下载源
  • 新增 libcurl 新增 CURLINFO_EARLYDATA_SENT 统计 TLS 早期数据
  • 优化 重写 SOCKS5 代理的连接建立逻辑,降低首包延迟
  • 修复 修复 -K 读取配置文件时相对路径解析错误
v8.8.0 2024-05-22 正式版
  • 新增 支持 TLS 1.3 早期数据(0-RTT)传输
  • 新增 --suppress-connect-headers 隐藏 CONNECT 代理响应头
  • 优化 HTTP/3(QUIC)连接池复用机制改进
v8.7.1 2024-03-27 安全更新
  • 修复 CVE-2024-2398:HTTP/2 PUSH 流处理越界读取漏洞
  • 修复 CVE-2024-2002:Kerberos 认证信息泄露问题
  • 优化 修复 iOS 下编译警告与符号冲突
v8.7.0 2024-03-13 正式版
  • 新增 libcurl 新增 CURLOPT_PREREQFUNCTION 连接前回调
  • 新增 支持 %{header_json} 输出响应头为 JSON
  • 优化 重构 --resolve 选项,支持 IPv6 地址
v8.6.0 2024-01-31 正式版
  • 新增 支持 --test-event 事件驱动测试模式
  • 新增 libcurl 新增 CURLOPT_CAINFO_BLOB 内存证书
  • 修复 修复 MSYS2 下 --cacert 路径转换错误
v8.5.0 2023-11-22 正式版
  • 新增 支持 --retry-all-errors 对所有错误重试
  • 新增 支持 %{proxy_ssl_verify_result} 代理 SSL 校验输出
  • 优化 优化 IPv6 Happy Eyeballs 并发连接算法

下载 cURL

选择适合您操作系统的版本,立即开始使用

Windows

版本 8.9.1 · 64 位安装包

鼠标悬停或点击按钮显示二维码

macOS

版本 8.9.1 · 通用二进制

鼠标悬停或点击按钮显示二维码

Linux

源码包 · 支持 apt/yum

鼠标悬停或点击按钮显示二维码

当前最新稳定版:8.9.1  |  发布日期:2024-08  |  开源协议:MIT License

查看版本更新日志 →