這篇文章主要是為了讓各位讀者了解 Httpie 這個 HTTP 的命令列客戶端,同時也了解一下介面的有關知識
Httpie (aych-tee-tee-pie)是一個 HTTP 的命令列客戶端。其目標是讓 CLI 和 web 服務之間的互動盡可能的人性化。你可以用它很方便的用 http 的命令調試接口,最常用的應該就是 GET 和 POST 了。
舉個簡單形象的例子,如果有一家寵物店賣動物口糧,比如貓糧狗糧,那麼出售糧食就是一個接口,來的是貓就賣貓糧,來的是狗賣狗糧,以後來個什麼雞鴨魚之類的只要修改一下這個賣穀物的方法即可。
如果沒有接口,那麼就要寫好對貓怎麼做,對狗怎麼做,而且以後對雞鴨魚這些來了還要重新寫對雞怎麼做等等等等……簡而言之,介面可以讓程式方便變化。
最終的目的是讓介面穩定,沒有 bug 。一般來說除了最基礎的正常使用功能之外,還需要測試臨界時的情況,比如說對處於可輸入資料範圍邊界上的資料是否能夠處理;還有效能測試,這部分就是使用資源的情況,接口響應時間等。
特點:
1、直覺的語法
2、格式化和色彩化的終端輸出
3、內建 JSON 支援
4.支援上傳表單和檔案
5、HTTPS、代理和認證支援
6.支援任意請求資料
7.自訂標題
8.持久性會話
9.類別 Wget 下載
10、支援 Python 2.6, 2.7 和 3.x
11、支援 Linux, Mac OS X 和 Windows
12、插件
13、文檔
14.測試覆蓋率
我們先用一張圖來進行比對 Httpie 與 curl :
curl -X METHOD -H HEADER -i
後面的-i是表示顯示回傳訊息的頭部,如果你使用 cURL 存取 OpenStack,那麼這個選項在取得 UUID 類型的 token 時必不可少。然後建立請求訊息體,在使用 curl 來傳送訊息,會傳回 json 訊息體,但傳回的 json 訊息體比較混亂,不便閱讀,如果想從傳回的 json 訊息體中取得訊息是比較困難的。
HTTPie 是基於 python 編寫,內部使用了 Requests 和 Pygments 函式庫。
HTTPie 的用法比cURL 直觀很多,沒有那麼多選項,基本上心裡怎麼想就怎麼寫,預設輸入和輸出都是json 格式(而cURL 必須要指定-H “Content-Type: application/json ”)。我們同樣實現上面獲取 token 的功能,效果如下:
很明顯的能看出,使用 Httpie 所得到的結果結構的清晰明了,它對返回的結果自動做了高亮和格式化。
cURL vs HTTPie on the Command Line for HTTP APIs:
https://www.ctl.io/developers/blog/post/curl-vs-httpie-http-apis
以上是人性化的HTTP命令列工具-HTTPie的詳細內容。更多資訊請關注PHP中文網其他相關文章!