有哪些不錯的命令行HTTP客戶端?

mx3y 9年前發布 | 13K 次閱讀 HTTP

“整體大于它的各部分之和”,這是引自希臘哲學家和科學家的亞里士多德的名言。這句話特別切中Linux。在我看來,Linux最強大的地方之一就是它的協作性。Linux的實用性并不僅僅源自大量的開源程序(命令行)。相反,其協作性來自于這些程序的綜合利用,有時是結合成更大型的應用。

Unix哲學引發了一場“軟件工具”的運動,關注開發簡潔,基礎,干凈,模塊化和擴展性好的代碼,并可以運用于其他的項目。這種哲學成為了許多的Linux項目的一個重要的元素。

好的開源開發者寫程序為了確保該程序盡可能運行得好,并且同時能與其他程序很好地協作。目標就是使用者擁有一堆方便的工具,每一個力求干好一件事。許多程序能獨立工作得很好。

這篇文章討論3個開源命令行HTTP客戶端。這些客戶端可以讓你使用命令行從互聯網上下載文件。但同時,他們也可以用于許多有意思的地方,如測試,調式和與HTTP服務器或web應用交互。對于HTTP架構師和API設計人員來說,使用命令行操作HTTP是一個值得花時間學習的技能。如果你需要經常使用API,HTTPie和cURL就非常有價值。

HTTPie

有哪些不錯的命令行HTTP客戶端?

HTTPie(發音 aych-tee-tee-pie)是一款開源的命令行HTTP客戶端。它是一個命令行界面,便于手工操作的類cURL工具。

該軟件的目標是使得與Web服務器的交互盡可能的人性化。其提供了一個簡單的http命令,允許使用簡單且自然的語句發送任意的HTTP請求,并顯示不同顏色的輸出。HTTPie可以用于測試,調試,以及與HTTP服務器的常規交互。

功能包括:

  • 生動而直觀的語法格式
  • 經過格式化的彩色終端輸出
  • 內建JSON支持
  • 支持表單和文件上傳
  • 支持HTTPS,代理和認證
  • 任意數據請求
  • 自定義請求頭
  • 持久會話
  • 類Wget的下載
  • 支持Python 2.6,2.7和3.x
  • 支持Linux,Mac OS X 和 Windows
  • 支持插件
  • 文檔
  • 單元測試覆蓋
  • </ul>


    • 網站:httpie.org
    • 開發者: Jakub Rozto?il
    • 證書: 開源
    • 版本號: 0.9.2
    • </ul>

      cURL

      有哪些不錯的命令行HTTP客戶端?

      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
      • </ul>


        • 網站: curl.haxx.se
        • 開發者: Daniel Stenberg
        • 證書: MIT/X derivate license
        • 版本號: 7.42.0
        • </ul>

          Wget

          有哪些不錯的命令行HTTP客戶端?

          Wget是一個從網絡服務器獲取信息的開源軟件。其名字源于World Wide Web 和 get。Wget支持HTTP,HTTPS和FTP協議,同時也可以通過HTTP代理獲取信息。

          Wget可以根據HTML頁面的鏈接,創建遠程網絡站點的本地副本,完全重造源站點的目錄結構。這種方式被稱作“遞歸下載”。

          Wget設計上增強了低速或者不穩定的網絡連接。

          功能包括:

          • 使用REST和RANGE恢復中斷的下載
          • 使用文件名通配符,支持遞歸地對目錄鏡像
          • 基于NLS的消息文件支持多語言
          • 可選的轉換下載文檔里地絕對鏈接為相對鏈接,使得下載文檔可以在本地相互鏈接
          • 可以在大多數類UNIX操作系統和微軟Windows上運行
          • 支持HTTP代理
          • 支持HTTP cookie
          • 支持HTTP持久連接
          • 無人照管/后臺操作
          • 當對遠程鏡像時,使用本地文件時間戳來決定是否需要重新下載文檔
          • </ul>