curl:互联网的「瑞士军刀」,你每天都在用它
curl:互联网的「瑞士军刀」,你每天都在用它
很多程序员可能不知道,自己每天都在间接使用一个 1998 年就诞生的开源项目。curl 的 GitHub Star 数超过 4.2 万,但它的影响力远不止于此。Windows、macOS、Linux 的系统里都预装了它,无数 App 和服务的底层数据请求,走的都是 curl 的代码。

它到底能干什么
简单说,curl 就是一个用 URL 传输数据的命令行工具。听起来平淡无奇,但它支持的协议数量让人吃惊:HTTP、HTTPS、FTP、SFTP、SMTP、IMAP、LDAP、MQTT、WebSocket,总共 25 种以上。
日常开发中,最常用的场景是发 HTTP 请求。调试 API 的时候,在终端里敲一行 curl 命令就能看到返回结果,比打开浏览器或者启动 Postman 快得多。
curl https://api.example.com/data
除了命令行工具,curl 背后还有一个叫 libcurl 的 C 语言库。很多你用过的软件,比如 Git、Docker、WordPress、Python 的 requests 库,底层都在调用 libcurl。可以说它是互联网基础设施的一部分。
为什么能活 28 年还在更新
1998 年至今,curl 一直在持续更新。作者 Daniel Stenberg 一个人维护了很多年,现在有了社区支持。
能活这么久,原因并不复杂。它解决的问题不会过时,只要有网络通信就需要传输数据,curl 干的就是这件事。而且它极其稳定,几乎不会引入破坏性变更。你 20 年前写的 curl 命令,今天大概率还能正常运行。
另一个原因是它的许可证非常宽松,MIT-like 协议,商用、修改、分发都没有限制。这让它被大量嵌入到商业产品中。
上手难度
零门槛。大多数系统已经预装了 curl,如果没有,包管理器一行命令搞定。用法也很直白,curl + URL 就能跑起来。官方文档写得清楚,man page 和 everything curl 两个资源覆盖了从入门到高级用法的全部内容。

说点实在的
如果你是开发者,但平时没怎么用过 curl,建议花半小时看看它的文档。它能替代很多场景下的 Postman 和其他 HTTP 客户端,而且在服务器环境里没有图形界面的时候,curl 就是你唯一的选择。
如果你是运维或者做后端的,curl 的 --resolve、--proxy、-v 这些参数组合起来,能解决很多网络调试中的疑难问题。
这个项目没什么花哨的功能,也不追热点。它就是把一件事做到极致,然后坚持了 28 年。这种项目在开源世界里其实不多。
。它就是把一件事做到极致,然后坚持了 28 年。这种项目在开源世界里其实不多。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐


所有评论(0)