curl.exe是一款功能强大的命令行工具,广泛用于数据传输和网络请求。作为 curl的 Windows 可执行文件版本,curl.exe 支持通过 URL 在命令行中轻松实现文件下载、上传、网页访问、API 调用等多种操作。curl 最初由 Daniel Stenberg 开发,是开源、跨平台的网络传输利器,被集成在诸多系统和开发环境中,也是Web开发、运维、自动化脚本的必备工具之一。
多协议支持:curl 支持 HTTP、HTTPS、FTP、FTPS、SFTP、SCP、SMTP、POP3、IMAP、LDAP 等丰富的网络协议,覆盖绝大多数网络数据交互需求。
文件下载与上传:可以一行命令下载网页、图片、视频,也能实现 FTP/SFTP 文件上传。
RESTful API 调用:可直接模拟浏览器或客户端发起 GET、POST、PUT、DELETE 等请求,便于调试和自动化测试接口。
请求自定义:支持添加自定义请求头、Cookies、User-Agent、Referer、认证信息等,满足复杂的访问场景。
HTTPS 安全传输:支持 SSL/TLS,保证数据传输安全可靠,还可以指定证书、跳过证书校验等。
自动重定向与限速:支持自动跟随网页重定向,设置下载速度限制、防止网络带宽占满。
轻量便携:curl.exe 文件极小,无需安装,拷贝即可使用,非常适合绿色软件、批处理、便携脚本。
命令行操作:支持全部操作通过命令行参数完成,适合批量处理、自动化任务、定时脚本等应用场景。
开源免费:curl 完全开源,允许商业和个人免费使用,无需授权费用。
跨平台兼容:不仅有 Windows 版 curl.exe,还支持 Linux、Mac、androids 等多平台无缝切换,脚本兼容性强。
社区活跃:拥有庞大的用户和开发者社区,文档丰富,遇到问题容易找到答案。
支持表单上传、文件断点续传、代理服务器设置、HTTP2/HTTP3、数据压缩、Cookie 管理、输出格式定制等高级功能。
可与 PowerShell、批处理、Python 等脚本语言结合使用,实现自动化数据抓取、批量下载上传、网站监控等复杂任务。
详细的帮助文档和 man 手册,方便新手快速上手。
日常文件快速下载、网站内容采集
接口调试、API 自动化测试
自动化运维脚本、定时任务的数据推送与获取
跨平台网络脚本开发、数据迁移
利用URL语法在命令行方式下工作的开源文件传输工具,它被广泛应用在Unix、多种Linux发行版中,并且有DOS和Win32、Win64下的移植版本。支持的通信协议有FTP、FTPS、HTTP、HTTPS、TFTP、SFTP、Gopher、SCP、Telnet、DICT、FILE、LDAP、LDAPS、IMAP、POP3、SMTP和RTSP,还支持SSL认证、HTTP POST、HTTP PUT、FTP上传, HTTP form based upload、proxies、HTTP/2、cookies、用户名+密码认证(Basic, Plain, Digest, CRAM-MD5, NTLM, Negotiate and Kerberos)、file transfer resume、proxy tunneling。
1、在本站下载资源包,解压后选择32位或者64位版本然后再次解压
2、找到该文件目录下的bin子文件(bin即二进制文件,又称可执行文件), 复制文件地址:
3、将该地址加入环境变量。
4、打开CMD,然后输入 curl --help ,如果显示如下, 就代表成功了。
——变化:
cookies:单独保留安全cookie
hostip:支持通配符主机
http:为分块传输实现尾随标头
http:添加了允许HTTP / 0.9响应的选项
timevals:在Windows上使用高分辨率时间戳
——bug修复:
CVE-2018-16890:NTLM类型2越界缓冲区读取
CVE-2019-3822:NTLMv2类型-3报头堆栈缓冲区溢出
CVE-2019-3823:SMTP结束响应越界读取
FAQ:删除github提到的sourceforge
OS400:处理列表转换中的内存错误
OS400:升级ILE / RPG绑定。
自述文件:添加编码代码质量徽章
还原http_negotiate:不要关闭连接
谢谢:从<= 2000年添加了几个缺少的名字
build:make'tidy'目标工作为metalink构建
cmake:添加了对可变参数宏的检查
cmake:更新了HAVE_POLL_FINE检查以匹配autotools
cmake:使用小写字母作为函数名称,就像代码的其余部分一样
configure:与clang分开检测xlclang
configure:修复androids上的recv / send / select检测
configure:rewrite --enable-code-coverage
conncache_unlock:通过更改输入参数类型来避免间接
cookie:修复评论拼写错误
cookies:允许通过HTTPS完成安全覆盖
cookies:将域检查扩展到非psl版本
cookies:重定向跨站点时跳过自定义cookie
curl --xattr:从存储的任何URL中剥离凭据
curl -J:拒绝附加到目标文件
curl / urlapi.h:首先包含“curl.h”
curl_multi_remove_handle()不会阻止终止c-ares请求
darwinssl:接受使用默认min-tls设置max-tls
断开:单独的连接和简单的句柄更好
disconnect:设置conn->协议断开连接的数据
docs / version.d:提到MultiSSL
docs:修复--tls-max描述
docs:使用$(INSTALL_DATA)安装手册页
docs:在CURLOPT_LOCALPORT示例中使用无意义的端口号
gopher:始终在请求中包含整个gopher-path
http2:清除暂停流ID,如果它关闭
if2ip:删除未使用的函数Curl_if_is_interface_name
libssh:不要让libssh创建socket
libssh:为libssh启用CURLOPT_SSH_KNOWNHOSTS和CURLOPT_SSH_KEYFUNCTION
libssh:正确地释放sftp_canonicalize_path()数据
libtest / stub_gssapi:使用“real”snprintf
mbedtls:使用VERIFYHOST
multi:多路复用改进
multi:将EXPIRE_ * TIMEOUT定时器设置为TIMER_STARTSINGLE时间
ntlm:修复NTMLv2合规性
ntlm_sspi:添加对通道绑定的支持
openssl:适应3.0.0,不推荐使用OpenSSL_version_num()
openssl:修复SSL_get_tlsext_status_ocsp_resp调用
openvms:修复VAX上的OpenSSL发现
openvms:修复文档中的拼写错误
os400:添加一个缺少的右括号
os400:修复额外的参数语法错误
pingpong:将默认响应超时更改为120秒
pingpong:在断开阶段忽略常规超时
printf:修复格式说明符
runtests.pl:修复perl调用以包含srcdir
schannel:修复编译器警告
schannel:保留原始证书路径参数
schannel:停止称它为“winssl”
sigpipe:如果使用mbedTLS,则忽略SIGPIPE
smb:如果连接重用,修复请求中的错误路径
ssh:当ssh会话启动失败时,记录libssh2错误消息
test1558:在file:// transfer上验证CURLINFO_PROTOCOL
test1561:改进测试名称
test1653:让它在折磨测试中存活下来
测试:允许测试通过2037-02-12
测试:将objnames- *从lib移到测试中
timediff:修复未签名time_t的数学
timevals:禁用MSVC Analyzer GetTickCount警告
tool_cb_prg:避免整数溢出
travis:为osx添加了cmake构建
urlapi:修复eol冒号的端口解析
urlapi:区分可能空的查询
urlapi:使用区域索引修复解析ipv6
urldata:将easy_conn重命名为conn
winbuild:有条件地使用/ DZLIB_WINAPI
wolfssl:修复线程使用中的内存泄漏问题
spnego_sspi:添加对通道绑定的支持