开源软件编程网络技术

介绍几款好用的命令行HTTP工具

      “整体大于局部的和”,这是一句来自于希腊哲学科学家亚里士多德的名言。用这句名言来形容Linux是最合适不过的了。在我看来,Linux最大的长处在于其协作机制。而Linux最强大的地方不仅仅来自于其大量的开源(命令行)应用,更来自于让开源应用共同运作而产生的协作机制,有时候这个协作机制也会用于连接更加大型的应用程序。
      “Uniux哲学”引发了 “Software Tools”运动,其旨在于推动程序员编写出能应用与其他工程的简练的,简单的,清晰的,模块化的,可扩展的代码。这一信条如今成为众多LInux程序的重要组成部分。
一名优秀的开源程序员在编写程序时会确保程序能尽可能好地完成它的工作并与其他程序兼容良好。这样做的目的无非是为了让用户拥有那么一小部分能够出色完成各自的某一项任务的软件。有一些软件出色地独立工作着。
      这篇文章主要介绍三款开源的命令行HTTP工具。这些工具使你通过在命令行中输入命令来从因特网上下载文件。但同时,它也有更多更好玩的功能,比如测试,调试或者与HTTP服务器或者网络应用进行交互。使用命令行进行HTTP作业对于HTTP工程师或者API设计者来说都是一项有价值的技能。如果你需要和API打交道,那么HTTPie和cURL这两款工具将是你的无价之宝。
Screenshot-httpie
      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
          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可从整个网站服务器上获取目录,同样它也是一个开源软件. 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

You may also like

Leave a reply

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

More in:开源软件

开源软件

嵌入式 Linux 的瑞士军刀:BusyBox

上期文章中,笔者向各位介绍了 musl,一个 Glibc 的替代方案,它的主要优势体现在更加整洁的代码、更小的二进制体积和更优秀的静态链接支持。而本期文章的主角:BusyBox 则是 GNU Core […]
开源项目

Pwnagotchi 开箱教程

Pwnagotchi 是一个由 Bettercap 驱动的 A2C 的 “AI”,它能够从周围的 WiFi 环境中学习,以最大限度地利用它捕获的可破解 WPA 密钥材料,该材料将作为可被 hashcat 破解的 PCAP 文件收集在磁盘上。 简单来说,Pwnagotchi ...
开源软件

光速上手C++20协程

今天来学习下怎么使用基于C++20设计开发的协程框架async_simple(https://github.com/alibaba/async_simple)。async_simple是阿里巴巴开源的轻量级C++异步框架。提供了基于C++20无栈协程(Lazy),有栈协程(Uthread)以及Future/Promise等异步组件。连续两年经历天猫双十一磨砺,承担了亿级别流量洪峰,具备高性能和高稳定性。