人性化的HTTP命令行工具——HTTPie

這篇文章主要是爲了讓各位讀者瞭解 Httpie 這個 HTTP 的命令行客戶端,同時也瞭解一下接口的有關知識html

Httpie 是什麼python

Httpie (aych-tee-tee-pie)是一個 HTTP 的命令行客戶端。其目標是讓 CLI 和 web 服務之間的交互儘量的人性化。你能夠用它很方便的用 http 的命令調試接口,最經常使用的應該就是 GET 和 POST 了。linux

接口是什麼web

舉個簡單形象的例子,若是有一家寵物店賣動物口糧,好比貓糧狗糧,那麼出售糧食就是一個接口,來的是貓就賣貓糧,來的是狗賣狗糧,之後來個什麼雞鴨魚之類的只要修改一下這個出售糧食的方法便可。json

若是沒有接口,那麼就要寫好對貓怎麼作,對狗怎麼作,並且之後對雞鴨魚這些來了還要從新寫對雞怎麼作等等等等……簡而言之,接口可讓程序便於變化。api

爲何要調試接口app

最終的目的就是使接口穩定,沒有 bug 。通常來講除了最基礎的正常使用功能以外,還須要測試臨界時的狀況,好比說對處於可輸入數據範圍邊界上的數據是否可以處理;還有性能測試,這部分就是使用資源的狀況,接口響應時間等。curl

關於 Httpie工具

特色:
一、直觀的語法
二、格式化和色彩化的終端輸出
三、內置 JSON 支持
四、支持上傳表單和文件
五、HTTPS、代理和認證支持
六、支持任意請求數據
七、自定義標題
八、持久性會話
九、類 Wget 下載
十、支持 Python 2.6, 2.7 和 3.x
十一、支持 Linux, Mac OS X 和 Windows
十二、插件
1三、文檔
1四、測試覆蓋率post

Curl VS Httpie

咱們首先用一張圖來進行比對 Httpie 與 curl :

人性化的HTTP命令行工具——HTTPie人性化的HTTP命令行工具——HTTPie

curl 的使用方法

curl -X METHOD -H HEADER -i

後面的-i是表示顯示返回消息的頭部,若是你使用 cURL 訪問 OpenStack,那麼這個選項在獲取 UUID 類型的 token 時必不可少。而後建立請求消息體,在使用 curl 來發送消息,會返回 json 消息體,但返回的 json 消息體比較混亂,不便閱讀,若是想從返回的 json 消息體中獲取一下信息是比較困難的。

人性化的HTTP命令行工具——HTTPie人性化的HTTP命令行工具——HTTPie

Httpie的使用方法

HTTPie 基於 python 編寫,內部使用了 Requests 和 Pygments 庫。

HTTPie 的用法要比 cURL 直觀不少,沒有那麼多選項,基本上內心怎麼想就怎麼寫,默認輸入和輸出都是 json 格式 (而 cURL 必需要指定 -H 「Content-Type: application/json」)。咱們一樣實現上面獲取 token 的功能,效果以下:
人性化的HTTP命令行工具——HTTPie人性化的HTTP命令行工具——HTTPie

很明顯的能看出,使用 Httpie 所獲得的結果結構的清晰明瞭,它對返回的結果自動作了高亮和格式化。

更多:

cURL vs HTTPie on the Command Line for HTTP APIs:

https://www.ctl.io/developers/blog/post/curl-vs-httpie-http-apis\

原文來自:https://www.linuxprobe.com/http-httpie-command.html

相關文章
相關標籤/搜索