“整体大于局部的和”,这是一句来自于希腊哲学科学家亚里士多德的名言。用这句名言来形容Linux是最合适不过的了。在我看来,Linux最大的长处在于其协作机制。而Linux最强大的地方不仅仅来自于其大量的开源(命令行)应用,更来自于让开源应用共同运作而产生的协作机制,有时候这个协作机制也会用于连接更加大型的应用程序。
“Uniux哲学”引发了 “Software Tools”运动,其旨在于推动程序员编写出能应用与其他工程的简练的,简单的,清晰的,模块化的,可扩展的代码。这一信条如今成为众多LInux程序的重要组成部分。
一名优秀的开源程序员在编写程序时会确保程序能尽可能好地完成它的工作并与其他程序兼容良好。这样做的目的无非是为了让用户拥有那么一小部分能够出色完成各自的某一项任务的软件。有一些软件出色地独立工作着。
这篇文章主要介绍三款开源的命令行HTTP工具。这些工具使你通过在命令行中输入命令来从因特网上下载文件。但同时,它也有更多更好玩的功能,比如测试,调试或者与HTTP服务器或者网络应用进行交互。使用命令行进行HTTP作业对于HTTP工程师或者API设计者来说都是一项有价值的技能。如果你需要和API打交道,那么HTTPie和cURL这两款工具将是你的无价之宝。
HTTPie是一款开源的命令行HTTP工具。它是一款使用命令行界面的,仿cURL的为我们服务的工具。
这款软件旨在于让人们与网络服务器的命令行交互尽可能的人性化。其提供了一个简单的HTTP环境来让我们通过简单而自然的语法发送任意HTTP请求,并显示彩色输出。
HTTPie可用于测试,调试和与HTTP服务器进行普通的交互。
- 其特点包括:
- 生动直观的语句
- 指定格式的彩色终端输出
- 内嵌JSON支持
- 支持样式和文件上传
- HTTPS,代理和认证
- 可处理任意请求数据
- 可自定义头文件
- 持续性会话
- 类Wget的下载方式
- 支持语言:Python 2.6, 2.7 和x
- 支持平台:Linux,Windows,Mac
- 插件支持
- 已有说明文档
- 已通过测试
- 网址:httpie.org
- 开发者:Jakub Roztočil
- 许可证:开源
- 版本号:9.2
CURL
curl是一个通过URL规则来传输数据的开源命令行工具,它支持DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET 和 TFTP等网络传输协议.
curl同时也支持扩展验证证书(SSL), HTTP POST, HTTP PUT, FTP方式上传 , 基于HTTP表单的上传 , 代理 , 缓存 ,用户名与密码身份验证(如Basic, Digest, NTLM, Negotiate, kerberos等) , 文件续传 ,隧道代理以及很多的其他有用的技巧.
特点:
支持配置文件.
- 许多复杂的URL集成于一条命令.
- 通配符的范围:[0 – 13],{one , two , three}.
- 一条命令可进行多文件上传.
- 显示客户最大传输速率.
- 可重定向错误流.
- Metalink的支持.
- 网址: haxx.se
- 开发者: Daniel Stenberg
- 许可证: MIT/X derivate license
- 版本号: 7.42.0
Wget可从整个网站服务器上获取目录,同样它也是一个开源软件. Wget这个名字是由World Wide Web 和 get四个单词而来.它支持HTTP,HTTPS,FTP协议,同时还能通过HTTP代理服务器进行检索.
Wget可以跟踪进入存在于HTML页面中的超链接并建立远程网站对应的本地版本,完全的再现原始网站的目录结构.这被称为”递归下载”.
Wget可以说是为那种鲁棒性慢或不稳定的网络而设计.
特点:
-
采用REST和RANGE技术恢复已中断失败的下载.
-
采用文件名通配符和递归镜像目录.
-
基于NLS多种语言的消息文件.
-
可将已下载的文档由绝对连接转换到相对连接,这就能使已下载的文档在本地实现相互的链接.
-
可运行在绝大部分的类Unix操作系统以及Windows操作系统上.
-
支持HTTP代理.
-
支持HTTP缓存.
-
支持持续的HTTP连接.
-
无需监管/后台操作.
-
使用本地文件的时间戳来确定当镜像已存在时是否需要从新下载.
-
开发者: Hrvoje Niksic, Gordon Matzigkeit, Junio Hamano, Dan Harkless和其他人.
-
许可证: GNU GPL v3
-
版本号: 1.16.3
原文地址:http://www.linuxlinks.com/article/20150425174537249/HTTPclients.html
对这篇文章感觉如何?
太棒了
0
不错
0
爱死了
0
不太好
0
感觉很糟
0
More in:开源软件
Inkscape 20周年:1.3.1版发布,修复70多个错误并新增两项功能
Inkscape 1.3.1于今天发布,是这个开源矢量图形编辑器1.3系列的首个重大更新,同时也庆祝其20周年。
Calibre 7.0 电子书管理器推出全新笔记功能,支持音频 EPUB
这一重大更新还引入了新的回收站功能以及存储与书籍相关的“数据”文件的能力。 Calibre 开发者 Kovid Goyal 今天 宣布 推出了 Calibre 7.0,这是最新的稳定版本,也是这款强大 […]
Intel发布适用于Ubuntu 22.04 LTS的DG2/Alchemist图形驱动程序包
对于想要购置 Intel Arc 独显,但又不想自己动手搞定内核更新、Mesa 和固件包的 Ubuntu Linux 用户来说,这里有个好消息 —— 因为英特尔刚刚发布了适用于 Ubuntu 22.0 […]
嵌入式 Linux 的瑞士军刀:BusyBox
上期文章中,笔者向各位介绍了 musl,一个 Glibc 的替代方案,它的主要优势体现在更加整洁的代码、更小的二进制体积和更优秀的静态链接支持。而本期文章的主角:BusyBox 则是 GNU Core […]