Rumah > Artikel > Tutorial sistem > Cara memasang dan menggunakan HTTPie dan HTTP Prompt pada Linux
HTTPie ialah klien HTTP baris arahan yang dibina untuk API web moden. Ia menyediakan arahan intuitif dan antara muka mesra pengguna. Dalam panduan ini, anda akan mempelajari tentang ciri HTTPie dan cara ia dibandingkan dengan cURL. Anda juga akan belajar cara memasang dan mula menggunakan HTTPie pada sistem Linux anda.
Sebelum anda bermula
Buat akaun jika anda belum melakukannya.
Ikuti panduan kami untuk menyediakan dan mendapatkan contoh pengiraan untuk mengemas kini sistem anda. Anda juga mungkin mahu menetapkan zon waktu, mengkonfigurasi nama hos, mencipta akaun pengguna terhad dan menguatkuasakan akses SSH.
Sila ambil perhatian
Langkah dalam panduan ini ditulis untuk pengguna bukan root. Perintah yang memerlukan keistimewaan tinggi diawali dengan sudo. Jika anda tidak biasa dengan arahan sudo, lihat https://www.linuxmi.com/linux-sudo-command.html.
Apakah HTTPie?
HTTPie ialah klien HTTP baris arahan serupa dengan cURL. Tetapi tidak seperti cURL, HTTPie direka bentuk agar lebih mudah digunakan dengan API web moden. Sintaks HTTPie adalah berorientasikan perkhidmatan web. Antara mukanya lebih mudah dibaca dan mesra pengguna daripada cURL. Ciri ini menjadikan HTTPie alat yang hebat untuk menguji, menyahpepijat atau menggunakan perkhidmatan web daripada baris arahan.
HTTPie lwn cURL
Bahagian ini akan meneroka sebab anda mungkin memilih untuk menggunakan HTTPie dan bukannya cURL, terutamanya kerana cURL dipasang secara lalai pada banyak pengedaran Linux. cURL cemerlang dalam memperluaskan pilihan untuk memenuhi pelbagai keperluan HTTP. HTTPie menumpukan pada pertanyaan sokongan kepada API web moden. Apabila menggunakan API web, ia memberikan butiran yang paling berkaitan dan menyembunyikan maklumat yang anda mungkin tidak perlukan. Output HTTPie membolehkan anda berinteraksi dengan perkhidmatan web dengan lebih intuitif dan jelas.
Jika anda ingin menggunakan API web, terutamanya API RESTful yang menggunakan data JSON, anda harus mempertimbangkan untuk menggunakan HTTPie. Sebagai alternatif, jika anda mahukan klien HTTP untuk keperluan yang lebih umum, pertimbangkan untuk menggunakan cURL, kerana ia menyediakan beberapa pilihan untuk menjadikannya lebih mudah disesuaikan.
Anda boleh mengetahui lebih lanjut tentang curlie daripada Cara Memasang dan Menggunakan Perintah Curlie di Linux, yang merupakan klien HTTP baris arahan moden dengan kebolehbacaan HTTPie dan kebolehsuaian cURL.
Cara memasang HTTPie
HTTPie boleh didapati daripada pengurus pakej kebanyakan pengedaran Linux utama. Di bawah ialah arahan yang boleh anda gunakan semasa memasang HTTPie melalui pengurus pakej pengedaran yang berbeza.
Pada Debian dan Ubuntu, gunakan arahan berikut:
sudo apt install httpie
Di bawah sistem pengendalian AlmaLinux dan CentOS, laksanakan arahan berikut:
sudo yum pasang httpie
Pada Fedora, gunakan arahan berikut:
sudo dnf pasang httpie
Selepas memasang HTTPie, anda boleh mengesahkan pemasangan dan mengaksesnya menggunakan arahan http.
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com ⚡ http --version 1.0.3
Cara menggunakan HTTPie
Jika anda biasa dengan klien HTTP lain, httppie sepatutnya lebih mudah dipelajari. Kebanyakan penggunaan asasnya adalah serupa dengan cURL, tetapi ia membolehkan anda memudahkan arahan yang anda perlukan.
Bahagian berikut akan memperkenalkan cara menggunakan HTTPie untuk mengendalikan permintaan HTTP yang paling biasa apabila menggunakan perkhidmatan web.
Penggunaan asas
Anda boleh melihat penggunaan HTTPie yang paling asas dalam permintaan GET. Seperti cURL, HTTPie tidak memerlukan anda untuk menentukan kaedah permintaan. Hanya berikan arahan dan minta URL.
Output HTTPie termasuk maklumat pengepala respons secara lalai. Ia menggunakan penyerlahan sintaks untuk menjadikan respons lebih mudah dibaca, seperti yang anda boleh lihat dalam tangkapan skrin di bawah:
Menambah data pengepala pada permintaan dalam httppie memerlukan penambahan data selepas URL seperti yang ditunjukkan dalam arahan di bawah. Contoh berikut mengambil "lawak ayah" rawak daripada perkhidmatan web. Anda boleh melihat bahawa arahan itu juga menambah pilihan --follow, yang menjadikan HTTPie mengikuti sebarang ubah hala URL (bersamaan dengan -L dalam curl). HTTPie termasuk maklumat pengepala respons ubah hala dalam output.
Kaedah permintaan
Untuk menentukan kaedah permintaan dalam httppie, masukkan sahaja nama kaedah - GET, POST, PUT, DELETE, dll. - sebagai bahagian pertama arahan http. Ini boleh dilihat dalam contoh seterusnya, yang menggunakan perkhidmatan web HTTPie sendiri untuk ujian.
# Paparkan maklumat permintaan (termasuk pengepala pulangan 200)
http www.linuxmi.com
# Paparkan permintaan terperinci (termasuk permintaan dan pengepala pengembalian 200)
http -v www.linuxmi.com
# Tunjukkan sahaja Pengepala
http -h www.linuxmi.com
http –kepala 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数据请求(默认就是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
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>
从给定的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将如何调用HTTPie,请运行以下命令。
http://localhost:300/api> httpie post
http –auth=user:linuxmi POST http://localhost:300/api username=linuxmi
启动会话后,您可以交互式键入命令
您可以发送HTTP请求,输入一个HTTP方法,如下所示。
> head
> 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, itu sahaja! HTTP Prompt ialah teman yang sempurna untuk HTTPie.
Kini anda sepatutnya boleh mula menghantar permintaan ke api web menggunakan HTTPie. Jika anda mendapati diri anda sedang mencari ciri yang lebih maju, anda boleh menemuinya apabila menggali lebih dalam ke dalam HTTPie. Lihat dokumentasi rasmi httppie dan rujuk arahan http --help
untuk mula mempelajari lebih lanjut tentang ciri httppie.
Kami ingin mendengar daripada anda. Kongsi pendapat anda atau tanya soalan tentang HTTP Prompt vs. HTTPie dalam ulasan di bawah.
Atas ialah kandungan terperinci Cara memasang dan menggunakan HTTPie dan HTTP Prompt pada Linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!