開源軟體編程網路技術

介紹幾款好用的命令行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等非同步組件。連續兩年經歷天貓雙十一磨礪,承擔了億級別流量洪峰,具備高性能和高穩定性。