首頁  >  文章  >  系統教程  >  如何在 Linux 上 HTTPie 與 HTTP Prompt 安裝使用

如何在 Linux 上 HTTPie 與 HTTP Prompt 安裝使用

WBOY
WBOY轉載
2024-02-12 15:03:23626瀏覽

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

在你開始之前

#如果您還沒有這樣做,請建立帳戶。

按照我們的設定和保護計算實例指南來更新您的系統。您可能還想設定時區、配置主機名稱、建立一個有限的使用者帳戶,並加強SSH存取。

請注意

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

HTTPie 是什麼?

HTTPie 是一個類似 cURL 的命令列 HTTP 用戶端。但與 cURL 不同的是,HTTPie 被設計成更容易使用現代 Web api。 HTTPie 的語法是面向 Web 服務的。它的介面比 cURL 更具可讀性和用戶友好性。這些特性使 HTTPie 成為一個很好的工具,可以從命令列測試、偵錯或以其他方式使用 Web 服務。

HTTPie vs cURL

本節將探討為什麼您可能會選擇使用 HTTPie 而不是 cURL,特別是因為 cURL 預設安裝在許多 Linux 發行版上。 cURL 擅長透過擴充選項來滿足廣泛的 HTTP 需求。 HTTPie 專注於支援對現代 web api 的查詢。當使用 web api 時,它提供了最相關的細節,並隱藏了你不太可能需要的資訊。 HTTPie 的輸出讓你更直覺、更清楚地與 Web 服務互動。

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

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

如何安裝 HTTPie

#HTTPie可以從大多數主流Linux發行版的套件管理器中取得。下面是透過不同發行版的套件管理器安裝HTTPie時可以使用的指令。

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

sudo apt install httpie

在AlmaLinux和CentOS作業系統下,執行以下命令:

sudo yum install httpie

#在Fedora上,使用以下指令:

sudo dnf install httpie

#安裝了HTTPie之後,您可以驗證安裝並使用http命令存取它。

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

如何在 Linux 上 HTTPie 与 HTTP Prompt 安装和使用

#如何使用 HTTPie

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

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

基本用法

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

HTTPie的輸出預設包含回應頭資訊。它使用語法高亮顯示使回應更容易閱讀,正如你可以在下面的截圖中看到的:

在httppie中向請求添加報頭資料需要將資料附加在URL之後,如下面的命令所示。下面的範例從web服務取得一個隨機的「老爸笑話」。您可以看到該指令也加入了-follow選項,該選項讓HTTPie跟隨任何URL重定向(相當於curl中的-L)。 HTTPie在輸出中包含了重定向回應的報頭資訊。

請求方法

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

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

如何在 Linux 上 HTTPie 与 HTTP Prompt 安装和使用

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

如何在 Linux 上 HTTPie 与 HTTP Prompt 安装和使用

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

如何在 Linux 上 HTTPie 与 HTTP Prompt 安装和使用

# 只显示Body
http -b www.linuxmi.com
http –body www.linuxmi.com

# 下载文件
http -d www.linuxmi.com

如何在 Linux 上 HTTPie 与 HTTP Prompt 安装和使用

# 模拟提交表单
http -f POST www.linuxmi.com username=’linuxmi-user’

# 请求删除的方法
http DELETE www.linuxmi.com

# 传递JSON数据请求(默认就是JSON数据请求)
http PUT www.linuxmi.com username=’linuxmi-user’ password=’linuxmi-pwd’

# 如果JSON数据存在不是字符串则用:=分隔,例如
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多个可以使用的主题。

我们现在将解释如何在 Linux 中安装和简要使用 HTTP-prompt。

如何在Linux中安装HTTP Prompt

您可以使用PIP命令安装HTTP提示,就像常规Python包一样,如图所示。

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                   
⚡ pip install http-prompt
如何在 Linux 上 HTTPie 与 HTTP Prompt 安装和使用
pip install Pygments==2.5.2

如果您尝试在系统范围的Python上安装HTTP-prompt,则可能会收到一些权限错误。 不建议这样做,但如果这是您想要做的,只需使用sudo命令获得root权限。

或者,您可以使用–user选项将软件包安装到用户主目录中,如下所示:

pip install --user http-prompt

要升级HTTP提示符,请执行以下操作:

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> 
如何在 Linux 上 HTTPie 与 HTTP Prompt 安装和使用

从给定的URL开始

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                   
⚡ http-prompt http://localhost:3000
如何在 Linux 上 HTTPie 与 HTTP Prompt 安装和使用

从一些初始选项开始

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                   
⚡ http-prompt localhost:300/api --auth user:linuxmi username=linuxmi
如何在 Linux 上 HTTPie 与 HTTP Prompt 安装和使用

要预览HTTP Prompt将如何调用HTTPie,请运行以下命令。

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

启动会话后,您可以交互式键入命令

您可以发送HTTP请求,输入一个HTTP方法,如下所示。

> head

如何在 Linux 上 HTTPie 与 HTTP Prompt 安装和使用

> get
> post
> put
> patch
> delete

可以添加标头,查询字符串或正文参数,使用HTTPie中的语法。 这里有些例子:

# 设置 header
> Content-Type:application/json

# 查询字符串参数
> page==5

# body 参数
> username=linuxmi
> full_name=’www.linuxmi.com’

# 原始JSON中的body参数
> 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

要重置会话(清除所有参数和选项)或退出会话,请运行:

> rm * #重置会话
> exit #退出会话

有关更多信息和用法示例,请参阅HTTP-prompt文档:http://http-prompt.com/。

结论

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

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

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

以上是如何在 Linux 上 HTTPie 與 HTTP Prompt 安裝使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:lxlinux.net。如有侵權,請聯絡admin@php.cn刪除