cURL

cURL-定义

cURL 发音为[‘curl’],即Client URL(客户端URL)。

提供了一个命令行工具,是一个传输URL资源的工具,对 URL 进行操作。

任何和Internet协议(即TCP/IP协议)传输相关的业务都可以看做curl业务。

区别:

  • 动词:to curl something ,使用非浏览器工具从URL下载文件或资源。
  • 一种编程语言 CURL

组成

cURL包含两款产品:

  • libcurl:一个用C编写的免费的客户端URL传输库。通常和其他程序绑定使用,作为其他程序的开发库。

  • cURL:一个命令行工具(二进制可执行文件),底层使用libcurl,通过shell或者脚本调用,以实现使用URL语法获取或发送包含文件的数据。

    支持的协议:

    • DICT,FILE,FTP,FTPS,GOPHER,HTTP,HTTPS,IMAP,IMAPS,LDAP,LDAPS,POP3,POP3S,RTMP,RTSP,SCP,SFTP,SMB,SMBS,SMTP,SMTPS,TELNET,TFTP
    • 默认支持HTTPS并执行SSL证书验证。

    使用:

    • cURL项目本身不提供curl的二进制可执行文件。因为命令行工具curl的使用依赖于具体系统。所以使用curl时往往需要去下载适用于特定系统的curl版本。

      由于这些系统间有很多差异,因此curl可改造性很大(如容错性大,有时命令输错了,curl还是会执行)。

    • curl一般依赖于第三方的库,除非静态地使用curl命令。

    • curl将数据发送到stdout。

特点

  • 基于TCP协议
  • 只专注于传输,而不负责处理数据。如curl不理解HTML等的内容(不做渲染),但是可以通过HTTP协议传输它。

和浏览器的区别

curl客户端操作curl命令操作URL和浏览器操作URL的区别:

  • curl:只执行单行URL命令,对服务器返回的数据或消息不处理(如不渲染HTML页面,不重定向等)。
  • 浏览器:功能更丰富,对服务器返回的数据做相应处理后呈现给用户。

如,浏览器会解析body部分,渲染出界面;同时还会通过一些链接和状态码重定向(如,在浏览器地址栏输入 baidu.com 后,浏览器可以根据服务器传回的消息重定向到www.baidu.com,直至可以得到一个可以呈现给用户的页面。而curl输入curl baidu.com,则只会得到服务器发回的重定向消息,不做下一步处理。


参考文献

<https://en.wikipedia.org/wiki/CURL#cite_note-4 cURL维基百科
https://ec.haxx.se/ 《Everything curl》
https://www.jb51.net/article/68750.htm curl 和 libcurl 的区别
https://www.jianshu.com/p/0ebedf948739 curl和浏览器的区别

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值