成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

HTTPie:替代Curl和Wget的現(xiàn)代HTTP命令行客戶端

系統(tǒng) Linux
大多數(shù)時間我們會使用 curl 命令或是 wget 命令下載文件或者做其他事。今天我們將討論同樣的話題。這個實用程序名為 HTTPie。

[[263335]]

大多數(shù)時間我們會使用 curl 命令或是 wget 命令下載文件或者做其他事。

今天我們將討論同樣的話題。這個實用程序名為 HTTPie。

它是現(xiàn)代命令行 http 客戶端,也是 curlwget 命令的替代品。

什么是 HTTPie?

HTTPie (發(fā)音是 aitch-tee-tee-pie) 是一個 HTTP 命令行客戶端。

HTTPie 工具是現(xiàn)代的 HTTP 命令行客戶端,它能通過命令行界面與 Web 服務進行交互。

它提供一個簡單的 http 命令,允許使用簡單而自然的語法發(fā)送任意的 HTTP 請求,并會顯示彩色的輸出。

HTTPie 能用于測試、調(diào)試及與 HTTP 服務器交互。

主要特點

  • 具表達力的和直觀語法
  • 格式化的及彩色化的終端輸出
  • 內(nèi)置 JSON 支持
  • 表單和文件上傳
  • HTTPS、代理和認證
  • 任意請求數(shù)據(jù)
  • 自定義頭部
  • 持久化會話
  • 類似 wget 的下載
  • 支持 Python 2.7 和 3.x

在 Linux 下如何安裝 HTTPie

大部分 Linux 發(fā)行版都提供了系統(tǒng)包管理器,可以用它來安裝。

Fedora 系統(tǒng),使用 DNF 命令 來安裝 httpie:

  1. $ sudo dnf install httpie

Debian/Ubuntu 系統(tǒng),使用 APT-GET 命令APT 命令 來安裝 HTTPie。

  1. $ sudo apt install httpie

基于 Arch Linux 的系統(tǒng),使用 Pacman 命令 來安裝 HTTPie。

  1. $ sudo pacman -S httpie

RHEL/CentOS 的系統(tǒng),使用 YUM 命令 來安裝 HTTPie。

  1. $ sudo yum install httpie

openSUSE Leap 系統(tǒng),使用 Zypper 命令 來安裝 HTTPie。

  1. $ sudo zypper install httpie

用法

如何使用 HTTPie 請求 URL?

HTTPie 的基本用法是將網(wǎng)站的 URL 作為參數(shù)。

  1. # http 2daygeek.com
  2. HTTP/1.1 301 Moved Permanently
  3. CF-RAY: 4c4a618d0c02ce6d-LHR
  4. Cache-Control: max-age=3600
  5. Connection: keep-alive
  6. Date: Tue, 09 Apr 2019 06:21:28 GMT
  7. Expires: Tue, 09 Apr 2019 07:21:28 GMT
  8. Location: https://2daygeek.com/
  9. Server: cloudflare
  10. Transfer-Encoding: chunked
  11. Vary: Accept-Encoding

如何使用 HTTPie 下載文件

你可以使用帶 --download 參數(shù)的 HTTPie 命令下載文件。類似于 wget 命令。

  1. # http --download https://www.2daygeek.com/wp-content/uploads/2019/04/Anbox-Easy-Way-To-Run-Android-Apps-On-Linux.png
  2. HTTP/1.1 200 OK
  3. Accept-Ranges: bytes
  4. CF-Cache-Status: HIT
  5. CF-RAY: 4c4a65d5ca360a66-LHR
  6. Cache-Control: public, max-age=7200
  7. Connection: keep-alive
  8. Content-Length: 32066
  9. Content-Type: image/png
  10. Date: Tue, 09 Apr 2019 06:24:23 GMT
  11. Expect-CT: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
  12. Expires: Tue, 09 Apr 2019 08:24:23 GMT
  13. Last-Modified: Mon, 08 Apr 2019 04:54:25 GMT
  14. Server: cloudflare
  15. Set-Cookie: __cfduid=dd2034b2f95ae42047e082f59f2b964f71554791063; expires=Wed, 08-Apr-20 06:24:23 GMT; path=/; domain=.2daygeek.com; HttpOnly; Secure
  16. Vary: Accept-Encoding
  17.  
  18. Downloading 31.31 kB to "Anbox-Easy-Way-To-Run-Android-Apps-On-Linux.png"
  19. Done. 31.31 kB in 0.01187s (2.58 MB/s)

你還可以使用 -o 參數(shù)用不同的名稱保存輸出文件。

  1. # http --download https://www.2daygeek.com/wp-content/uploads/2019/04/Anbox-Easy-Way-To-Run-Android-Apps-On-Linux.png -o Anbox-1.png
  2. HTTP/1.1 200 OK
  3. Accept-Ranges: bytes
  4. CF-Cache-Status: HIT
  5. CF-RAY: 4c4a68194daa0a66-LHR
  6. Cache-Control: public, max-age=7200
  7. Connection: keep-alive
  8. Content-Length: 32066
  9. Content-Type: image/png
  10. Date: Tue, 09 Apr 2019 06:25:56 GMT
  11. Expect-CT: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
  12. Expires: Tue, 09 Apr 2019 08:25:56 GMT
  13. Last-Modified: Mon, 08 Apr 2019 04:54:25 GMT
  14. Server: cloudflare
  15. Set-Cookie: __cfduid=d3eea753081690f9a2d36495a74407dd71554791156; expires=Wed, 08-Apr-20 06:25:56 GMT; path=/; domain=.2daygeek.com; HttpOnly; Secure
  16. Vary: Accept-Encoding
  17.  
  18. Downloading 31.31 kB to "Anbox-1.png"
  19. Done. 31.31 kB in 0.01551s (1.97 MB/s)

如何使用 HTTPie 恢復部分下載?

你可以使用帶 -c 參數(shù)的 HTTPie 繼續(xù)下載。

  1. # http --download --continue https://speed.hetzner.de/100MB.bin -o 100MB.bin
  2. HTTP/1.1 206 Partial Content
  3. Connection: keep-alive
  4. Content-Length: 100442112
  5. Content-Range: bytes 4415488-104857599/104857600
  6. Content-Type: application/octet-stream
  7. Date: Tue, 09 Apr 2019 06:32:52 GMT
  8. ETag: "5253f0fd-6400000"
  9. Last-Modified: Tue, 08 Oct 2013 11:48:13 GMT
  10. Server: nginx
  11. Strict-Transport-Security: max-age=15768000; includeSubDomains
  12.  
  13. Downloading 100.00 MB to "100MB.bin"
  14. | 24.14 % 24.14 MB 1.12 MB/s 0:01:07 ETA^C

你根據(jù)下面的輸出驗證是否同一個文件:

  1. [email protected]:/var/log# ls -lhtr 100MB.bin
  2. -rw-r--r-- 1 root root 25M Apr 9 01:33 100MB.bin

如何使用 HTTPie 上傳文件?

你可以通過使用帶有小于號 < 的 HTTPie 命令上傳文件

  1. $ http https://transfer.sh < Anbox-1.png

如何使用帶有重定向符號 > 下載文件?

你可以使用帶有重定向 > 符號的 HTTPie 命令下載文件。

  1. # http https://www.2daygeek.com/wp-content/uploads/2019/03/How-To-Install-And-Enable-Flatpak-Support-On-Linux-1.png > Flatpak.png
  2.  
  3. # ls -ltrh Flatpak.png
  4. -rw-r--r-- 1 root root 47K Apr 9 01:44 Flatpak.png

發(fā)送一個 HTTP GET 請求?

您可以在請求中發(fā)送 HTTP GET 方法。GET 方法會使用給定的 URI,從給定服務器檢索信息。

  1. # http GET httpie.org
  2. HTTP/1.1 301 Moved Permanently
  3. CF-RAY: 4c4a83a3f90dcbe6-SIN
  4. Cache-Control: max-age=3600
  5. Connection: keep-alive
  6. Date: Tue, 09 Apr 2019 06:44:44 GMT
  7. Expires: Tue, 09 Apr 2019 07:44:44 GMT
  8. Location: https://httpie.org/
  9. Server: cloudflare
  10. Transfer-Encoding: chunked
  11. Vary: Accept-Encoding

提交表單?

使用以下格式提交表單。POST 請求用于向服務器發(fā)送數(shù)據(jù),例如客戶信息、文件上傳等。要使用 HTML 表單。

  1. # http -f POST Ubuntu18.2daygeek.com hello='World'
  2. HTTP/1.1 200 OK
  3. Accept-Ranges: bytes
  4. Connection: Keep-Alive
  5. Content-Encoding: gzip
  6. Content-Length: 3138
  7. Content-Type: text/html
  8. Date: Tue, 09 Apr 2019 06:48:12 GMT
  9. ETag: "2aa6-5844bf1b047fc-gzip"
  10. Keep-Alive: timeout=5, max=100
  11. Last-Modified: Sun, 17 Mar 2019 15:29:55 GMT
  12. Server: Apache/2.4.29 (Ubuntu)
  13. Vary: Accept-Encoding

運行下面的指令以查看正在發(fā)送的請求。

  1. # http -v Ubuntu18.2daygeek.com
  2. GET / HTTP/1.1
  3. Accept: */*
  4. Accept-Encoding: gzip, deflate
  5. Connection: keep-alive
  6. Host: ubuntu18.2daygeek.com
  7. User-Agent: HTTPie/0.9.8
  8.  
  9. hello=World
  10.  
  11. HTTP/1.1 200 OK
  12. Accept-Ranges: bytes
  13. Connection: Keep-Alive
  14. Content-Encoding: gzip
  15. Content-Length: 3138
  16. Content-Type: text/html
  17. Date: Tue, 09 Apr 2019 06:48:30 GMT
  18. ETag: "2aa6-5844bf1b047fc-gzip"
  19. Keep-Alive: timeout=5, max=100
  20. Last-Modified: Sun, 17 Mar 2019 15:29:55 GMT
  21. Server: Apache/2.4.29 (Ubuntu)
  22. Vary: Accept-Encoding

HTTP 認證?

當前支持的身份驗證認證方案是基本認證(Basic)和摘要驗證(Digest)。

基本認證:

  1. $ http -a username:password example.org

摘要驗證:

  1. $ http -A digest -a username:password example.org

提示輸入密碼:

  1. $ http -a username example.org

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2021-10-26 21:30:11

GitUIRustGit

2022-04-09 10:02:59

HTTPLInux開源

2023-04-24 07:04:03

WindowsIT運維

2010-11-24 17:04:17

MySQL客戶端命令行

2011-03-03 17:14:45

PureFTPdWindowsls

2010-05-14 16:11:52

Subversion命

2010-05-14 16:57:01

Subversion命

2023-06-12 23:00:23

2022-02-17 18:21:47

工具HTTPie客戶端

2010-02-04 15:17:48

Linux wget

2019-09-12 18:10:38

HTTPieAPI測試Python

2020-07-15 15:08:08

Linux 系統(tǒng) 數(shù)據(jù)

2018-05-21 08:50:36

2024-08-12 13:19:32

2021-09-22 15:46:29

虛擬桌面瘦客戶端胖客戶端

2021-09-18 09:19:21

Linux

2010-03-18 17:39:46

Java Socket

2010-03-16 15:50:59

Java遠程控制

2017-03-03 10:10:15

2019-07-05 18:06:18

ffsendFirefox SenLinux
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲一区二区三区免费在线 | 天天拍天天操 | 综合第一页 | 国产999精品久久久 精品三级在线观看 | 成人在线视频网 | 欧美在线免费 | www狠狠爱com | www.亚洲国产精品 | 久久精品色欧美aⅴ一区二区 | 欧美极品在线 | 国产精品福利视频 | 亚洲国产精品久久久久 | 成人高清网站 | 亚洲一区二区三区免费在线观看 | 中文字幕av一区 | 一区二区电影 | 国产精品欧美一区喷水 | 福利国产 | 国产精品视频区 | 91视频在线看 | 亚洲网在线 | 久久久久久久久久久一区二区 | 91亚洲精品久久久电影 | 亚洲成人精品免费 | 久久大香| 亚洲成人一区二区 | 在线成人免费视频 | 久久久久久久久久久一区二区 | 中文字幕视频三区 | 黄色毛片在线看 | 成人在线一级片 | 精品九九九| 视频一区二区在线观看 | 久久成人免费视频 | 亚洲一区国产 | 青青草国产在线观看 | 日本天堂一区 | 欧美a视频| 欧美爱爱视频 | 日韩在线观看一区二区三区 | 一区二区av在线 |