自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

強大的開源命令行 HTTP 工具包與好伴侶

開源 Linux
HTTPie是一個為現(xiàn)代web api構建的命令行HTTP客戶端。它提供了直觀的命令和用戶友好的界面。在本指南中,您將了解HTTPie的特性以及它與cURL的比較。您還將學習如何在Linux系統(tǒng)上安裝和開始使用HTTPie。

在你開始之前

如果您還沒有這樣做,請創(chuàng)建帳戶。

按照我們的設置和保護計算實例指南來更新您的系統(tǒng)。您可能還希望設置時區(qū)、配置主機名、創(chuàng)建一個有限的用戶帳戶,并加強SSH訪問。

請注意

本指南中的步驟是為非 root 用戶編寫的。需要提升權限的命令以 sudo 作為前綴。如果您不熟悉 sudo 命令,請參閱 ????https://www.linuxmi.com/linux-sudo-command.html???? 。

HTTPie 是什么?

HTTPie 是一個類似于 cURL 的命令行 HTTP 客戶端。但與 cURL 不同的是,HTTPie 被設計成更容易使用現(xiàn)代 Web api。HTTPie 的語法是面向 Web 服務的。它的界面比 cURL 更具可讀性和用戶友好性。這些特性使 HTTPie 成為一個很好的工具,可以從命令行測試、調(diào)試或以其他方式使用 Web 服務。

HTTPie vs cURL

本節(jié)將探討為什么您可能會選擇使用 HTTPie 而不是 cURL,特別是因為 cURL 默認安裝在許多 Linux 發(fā)行版上。cURL 擅長通過擴展選項來滿足廣泛的 HTTP 需求。HTTPie 專注于支持對現(xiàn)代 web api 的查詢。當使用 web api 時,它提供了最相關的細節(jié),并隱藏了你不太可能需要的信息。HTTPie 的輸出讓你更直觀、更清晰地與 Web 服務交互。

如果你想使用web api,尤其是使用JSON數(shù)據(jù)的RESTful api,你應該考慮使用HTTPie。另外,如果您想要一個滿足更一般需求的HTTP客戶端,可以考慮使用cURL,因為它提供了一些選項,使其具有更強的適應性。

你可以從我們的《如何在 Linux 上安裝和使用 curlie 命令》中了解更多關于 curlie 的信息,它是一個現(xiàn)代的命令行 HTTP 客戶端,具有 HTTPie 的可讀性和 cURL 的適應性。

如何安裝 HTTPie

HTTPie可以從大多數(shù)主流Linux發(fā)行版的包管理器中獲得。下面是通過不同發(fā)行版的包管理器安裝HTTPie時可以使用的命令。

在Debian和Ubuntu上,使用以下命令:

sudo apt install httpie

在AlmaLinux和CentOS操作系統(tǒng)下,執(zhí)行如下命令:

sudo yum install httpie

在Fedora上,使用以下命令:

sudo dnf install httpie

安裝了HTTPie之后,您可以驗證安裝并使用http命令訪問它。

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                   
? http --version
1.0.3

如何使用 HTTPie

如果您熟悉其他HTTP客戶端,那么 httppie 應該更容易學習。它的大部分基本用法類似于cURL ,但它允許您簡化所需的命令。

下面的小節(jié)將介紹在使用 web 服務時如何使用 HTTPie 處理最常見的 HTTP 請求。

基本用法

你可以在GET請求中看到HTTPie最基本的用法。像cURL一樣,HTTPie不要求您指定請求方法。只需提供命令和請求URL。

HTTPie的輸出默認包含響應頭信息。它使用語法高亮顯示使響應更容易閱讀,正如你可以在下面的截圖中看到的:

在httppie中向請求添加報頭數(shù)據(jù)需要將數(shù)據(jù)附加在URL之后,如下面的命令所示。下面的示例從web服務獲取一個隨機的“老爸笑話”。您可以看到該命令還添加了——follow選項,該選項讓HTTPie跟隨任何URL重定向(相當于curl中的-L)。HTTPie在輸出中包含了重定向響應的報頭信息。

請求方法

要在 httppie 中指定一個請求方法,只需將方法名稱——GET、POST、PUT、DELETE等——作為http命令的第一部分。在下一個示例中可以看到這一點,該示例使用 HTTPie 自己的 web服務進行測試。

# 顯示請求信息(包含返回頭200)
http www.linuxmi.com

# 顯示詳細的請求(包含請求和返回頭200)
http -v www.linuxmi.com

# 只顯示Header
http -h www.linuxmi.com
http --head www.linuxmi.com
http --header www.linuxmi.com
http --headers www.linuxmi.com

# 只顯示Body
http -b www.linuxmi.com
http --body www.linuxmi.com
# 下載文件
http -d www.linuxmi.com

# 模擬提交表單
http -f POST www.linuxmi.com username='linuxmi-user'
# 請求刪除的方法
http DELETE www.linuxmi.com
# 傳遞JSON數(shù)據(jù)請求(默認就是JSON數(shù)據(jù)請求)
http PUT www.linuxmi.com username='linuxmi-user' password='linuxmi-pwd'
# 如果JSON數(shù)據(jù)存在不是字符串則用:=分隔,例如
http PUT www.linuxmi.com username='linuxmi-user' password='linuxmi-pwd' age:=28 a:=true streets:='["a", "b"]'
# 模擬Form的Post請求, Content-Type: application/x-www-form-urlencoded; charset=utf-8
http --form POST www.linuxmi.com username='linuxmi-user'
# 模擬Form的上傳, Content-Type: multipart/form-data
http -f POST www.linuxmi.com/jobs username='linuxmi-user' file@~/test.pdf
# 修改請求頭, 使用:分隔
http www.linuxmi.com User-Agent:mimvp-agent/1.0 'Cookie:a=b;b=c' Referer:http://www.linuxmi.com/
# 認證
http -a username:password www.linuxmi.com
http --auth-type=digest -a username:password www.linuxmi.com

HTTP Prompt – 交互式命令行HTTP客戶端

HTTP Prompt (或HTTP-prompt) 是基于HTTPie和prompt_toolkit構建的交互式命令行HTTP客戶端,具有自動完成和語法突出顯示功能。它還支持自動cookie,OpenAPI/Swagger集成以及類Unix管道和輸出重定向。此外,它還提供了20多個可以使用的主題。

我們現(xiàn)在將解釋如何在 Linux 中安裝和簡要使用 HTTP-prompt。

如何在Linux中安裝HTTP Prompt

您可以使用PIP命令安裝HTTP提示,就像常規(guī)Python包一樣,如圖所示。

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                   
? pip install http-prompt

pip install Pygments==2.5.2

如果您嘗試在系統(tǒng)范圍的Python上安裝HTTP-prompt,則可能會收到一些權限錯誤。不建議這樣做,但如果這是您想要做的,只需使用sudo命令獲得root權限。

或者,您可以使用--user選項將軟件包安裝到用戶主目錄中,如下所示:

pip install --user http-prompt

要升級HTTP提示符,請執(zhí)行以下操作:

pip install -U http-prompt

如何在Linux中使用HTTP Prompt

要啟動會話,只需運行http-prompt命令,如圖所示。

從最后一個會話開始或http://localhost:8000

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                   
? http-prompt
Version: 2.1.0
http://localhost:8000> httpie post
http POST http://localhost:8000
http://localhost:8000>

從給定的URL開始

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                   
? http-prompt http://localhost:3000

從一些初始選項開始

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                   
? http-prompt localhost:300/api --auth user:linuxmi username=linuxmi

要預覽HTTP Prompt將如何調(diào)用HTTPie,請運行以下命令。

http://localhost:300/api> httpie post
http --auth=user:linuxmi POST http://localhost:300/api username=linuxmi

啟動會話后,您可以交互式鍵入命令

您可以發(fā)送HTTP請求,輸入一個HTTP方法,如下所示。

> head

> get
> post
> put
> patch
> delete

可以添加標頭,查詢字符串或正文參數(shù),使用HTTPie中的語法。這里有些例子:

# 設置 header
> Content-Type:application/json
# 查詢字符串參數(shù)
> page==5
# body 參數(shù)
> username=linuxmi
> full_name='www.linuxmi.com'
# 原始JSON中的body參數(shù)
> number:=18719
> is_ok:=true
> names:=["linuxmi","com"]
> user:='{"username": "linuxmi", "password": "linuxmi"}'
# 把所有東西都寫成一行
> Content-Type:application/json page==5 username=linuxmi

您還可以添加HTTPie選項,如圖所示。

> --form --auth user:pass
> --verify=no

或者

> --form --auth user:pass username=linuxidc Content-Type:application/json

要重置會話(清除所有參數(shù)和選項)或退出會話,請運行:

> rm * #重置會話
> exit #退出會話

有關更多信息和用法示例,請參閱HTTP-prompt文檔:http://http-prompt.com/。

結論

OK,就這樣!HTTP Prompt是HTTPie的完美伴侶。

現(xiàn)在,您應該可以開始使用HTTPie向web api發(fā)送請求了。如果您發(fā)現(xiàn)自己正在尋找更高級的特性,您可以在深入挖掘HTTPie時找到它們。查看httppie的官方文檔,并參考 ??http --help?? 命令來開始學習更多關于httppie的特性。

我們很想聽到您的聲音。通過下面的留言分享您的想法或詢問有關 HTTP Prompt 與 HTTPie 的問題。

責任編輯:龐桂玉 來源: Linux公社
相關推薦

2013-05-21 14:58:08

系統(tǒng)監(jiān)視glances開源

2013-12-09 14:29:13

OpenStack命令行工具API

2015-09-29 16:15:14

旅行

2022-07-13 08:21:38

開源命令行工具Linux

2020-12-10 16:16:08

工具代碼開發(fā)

2020-12-11 06:44:16

命令行工具開發(fā)

2011-01-18 19:11:26

Postfix命令行

2023-06-09 07:45:29

Kuberneteskubectl

2022-02-17 18:21:47

工具HTTPie客戶端

2024-09-29 13:25:56

2016-02-16 13:21:33

2020-12-15 07:54:40

工具Hutoolgithub

2020-12-15 15:08:17

工具Java線程

2023-07-05 08:38:48

GolangGo語言

2013-11-15 09:43:15

JDK工具

2020-12-24 17:08:52

安全工具NoSql注入接口工具

2010-11-24 17:12:17

MySQL命令行

2024-04-24 14:43:40

Linux命令

2021-09-09 16:45:07

HTTP命令Linux

2010-02-04 15:17:48

Linux wget
點贊
收藏

51CTO技術棧公眾號