随着网络应用的盛行,HTTP脚本编程成为一项流行的技术:
你可能需要到某个web页面自动的下载一些信息(采集)或请求某个接口;
可能还需要模仿成一个正常浏览器的样子,或者使用代理;
甚至需要上传或POST数据。
而cURL就是HTTP脚本编程的利器。
什么是cURL
cURL的官方网站上这样解释:“The name is a play on ‘Client for URLs’”。意思为“访问URL的客户端”。
“cURL is a command line tool for doing all sorts of URL manipulations and transfers”,cURL是用于进行各种对URL的操作和访问传输的命令行工具。
而在Linux man手册里这样解释:“cURL - transfer a URL”,意思是对URL的访问传输。
今天我们要讲的curl是Linux下一个强大的对URL进行操作的命令行工具。
而cURL的写法,URL突出大写,也正是强调对URL的操作。
cURL主要特点
- 支持多协议
URL的定义为“统一资源定位符”(详见RFC 3986),是不局限于HTTP协议的。
因此cURL支持多种协议,如DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS,IMAP, IMAPS,LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET and TFTP等。 - 命令行操作,简单强大
CURL是无GUI界面的,全部基于命令行操作,这无疑使它可以很方便的集成在像Linux脚本等程序中,
而通过我们进一步编程处理,就可以完成非常强大的功能。 - 开源跨平台
cURL工具是由libcurl开源项目组提供,此项目组提供开源的libcurl库,此库是由C语言实现客户端URL操作库,提供对URL的访问等操作功能,cURL工具就是采用libcurl实现。
而因为libcurl库是适用于多个平台的,因此cURL也适用于多个平台,如Win、Linux、OS/400、TPF等平台。
这成为cURL比GNU官方的wget更强大的原因之一。