当前位置: 首页 > 科技观察

HTTPie:现代HTTP命令行客户端代替Curl和Wget

时间:2023-03-14 15:56:42 科技观察

大多数时候我们会使用curl命令或wget命令来下载文件或做其他事情。今天我们将讨论相同的话题。此实用程序称为HTTPie。它是现代命令行http客户端,可替代curl和wget命令。什么是HTTPie?HTTPie(发音为aitch-tee-tee-pie)是一个HTTP命令行客户端。HTTPie工具是一个现代的HTTP命令行客户端,可以通过命令行界面与Web服务进行交互。它提供了一个简单的http命令,允许使用简单自然的语法发送任意HTTP请求,并将显示彩色输出。HTTPie可用于测试、调试以及与HTTP服务器交互。主要特点富有表现力和直观的语法格式化和彩色终端输出内置JSON支持表单和文件上传HTTPS、代理和身份验证任意请求数据自定义标头持久性会话wget-like下载支持Python2.7和3.x如何在Linux下安装HTTPie大多数Linux发行版都提供了一个系统包管理器,可以用来安装。Fedora系统,使用DNF命令安装httpie:$sudodnfinstallhttpieDebian/Ubuntu系统,使用APT-GET命令或APT命令安装HTTPie。$sudoaptinstallhttpie在基于ArchLinux的系统上,使用Pacman命令安装HTTPie。$sudopacman-ShttpieRHEL/CentOS系统,使用YUM命令安装HTTPie。$sudoyuminstallhttpieopen在SUSELeap系统上,使用Zypper命令安装HTTPie。$sudozypperinstallhttpie用法如何使用HTTPie请求URL?HTTPie的基本用法是将网站的URL作为参数。#http2daygeek.comHTTP/1.1301永久移动CF-RAY:4c4a618d0c02ce6d-LHRCache-Control:max-age=3600Connection:keep-aliveDate:Tue,09Apr201906:21:28GMTExpires:Tue,09Apr201907:21:28GMTLocation:https://2daygeek.com/Server:cloudflareTransfer-Encoding:chunkedVary:Accept-Encoding如何使用HTTPie下载文件您可以使用带有--download参数的HTTPie命令下载文件。类似于wget命令。#http--downloadhttps://www.2daygeek.com/wp-content/uploads/2019/04/Anbox-Easy-Way-To-Run-Android-Apps-On-Linux.pngHTTP/1.1200OKAccept-Ranges:bytesCF-Cache-Status:HITCF-RAY:4c4a65d5ca360a66-LHRCache-Control:public,max-age=7200Connection:keep-aliveContent-Length:32066Content-Type:image/pngDate:Tue,09Apr201906:24:23GMTExpect-CT:max-age=604800,report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"过期时间:2019年4月9日星期二08:24:23GMTLast-Modified:Mon,08Apr201904:54:25GMTServer:cloudflareSet-Cookie:__cfduid=dd2034b2f95ae42047e082f59f2b964f71554791063;expires=Wed,08-Apr-20Gday;24gepath=2.com;仅限HTTP;SecureVary:接受编码下载31.31kB到“Anbox-Easy-Way-To-Run-Android-Apps-On-Linux.png”完成。31.31kBin0.01187s(2.58MB/s)您仍然可以使用-o参数以不同的名称保存输出文件。#http--downloadhttps://www.2daygeek.com/wp-content/uploads/2019/04/Anbox-Easy-Way-To-Run-Android-Apps-On-Linux.png-oAnbox-1。pngHTTP/1.1200OKAccept-Ranges:bytesCF-Cache-Status:HITCF-RAY:4c4a68194daa0a66-LHRCache-Control:public,max-age=7200Connection:keep-aliveContent-Length:32066Content-Type:image/pngDate:星期二,09Apr201906:25:56GMTExpect-CT:max-age=604800,report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"过期时间:2019年4月9日,星期二08:25:56GMTLast-Modified:2019年4月8日星期一04:54:25GMT服务器:cloudflareSet-Cookie:__cfduid=d3eea753081690f9a2d36495a74407dd71554791156;expires=Wed,08-Apr-20pdoth=6GMT;2=.2daygeek.com;仅限HTTP;SecureVary:Accept-EncodingDownloading31.31kBto"Anbox-1.png"完成。31.31kB在0.01551s(1.97MB/s)如何使用HTTPie恢复部分下载?您可以使用带有-c参数的HTTPie继续下载。#http--download--continuehttps://speed.hetzner.de/100MB.bin-o100MB.binHTTP/1.1206部分ContentConnection:keep-aliveContent-Length:100442112Content-Range:字节4415488-104857599/104857600Content-Type:应用程序/八位字节流日期:2019年4月9日星期二06:32:52GMTETag:“5253f0fd-6400000”最后修改时间:2013年10月8日星期二11:48:13GMT服务器:nginxStrict-Transport-Security:max-age=15768000;includeSubDomainsDownloading100.00MBto"100MB.bin"|24.14%24.14MB1.12MB/s0:01:07ETA^C您可以使用以下输出验证同一文件:[emailprotected]:/var/log#ls-lhtr100MB.bin-rw-r--r--1rootroot25MApr901:33100MB.bin如何使用HTTPie上传文件?您可以使用带小于号的HTTPie命令上传文件<$httphttps://transfer.sh?您可以使用带有重定向>符号的HTTPie命令下载文件。#httphttps://www.2daygeek.com/wp-content/uploads/2019/03/How-To-Install-And-Enable-Flatpak-Support-On-Linux-1.png>Flatpak.png#ls-ltrhFlatpak.png-rw-r--r--1rootroot47KApr901:44Flatpak.png发送HTTPGET请求?您可以在请求中发送HTTPGET方法。GET方法使用给定的URI从给定的服务器检索信息。#httpGEThttpie.orgHTTP/1.1301永久移动CF-RAY:4c4a83a3f90dcbe6-SINCache-Control:max-age=3600Connection:keep-aliveDate:Tue,09Apr201906:44:44GMTExpires:Tue,09Apr201907:44:44GMTLocation:https://httpie.org/Server:cloudflareTransfer-Encoding:chunkedVary:Accept-Encoding提交表格?使用以下格式提交表格。POST请求用于向服务器发送数据,如客户信息、文件上传等。要使用HTML表单。#http-fPOSTUbuntu18.2daygeek.comhello='World'HTTP/1.1200OKAccept-Ranges:bytesConnection:Keep-AliveContent-Encoding:gzipContent-Length:3138Content-Type:text/htmlDate:2019年4月9日星期二06:48:12GMTETag:“2aa6-5844bf1b047fc-gzip”Keep-Alive:timeout=5,max=100Last-Modified:Sun,2019年3月17日15:29:55GMTServer:Apache/2.4.29(Ubuntu)Vary:Accept-编码运行以下命令以查看正在发送的请求。#http-vUbuntu18.2daygeek.comGET/HTTP/1.1Accept:*/*Accept-Encoding:gzip,deflateConnection:keep-aliveHost:ubuntu18.2daygeek.comUser-Agent:HTTPie/0.9.8hello=WorldHTTP/1.1200OKAccept-范围:bytesConnection:Keep-AliveContent-Encoding:gzipContent-Length:3138Content-Type:text/htmlDate:星期二,2019年4月9日06:48:30GMTETag:“2aa6-5844bf1b047fc-gzip”Keep-Alive:超时=5,最大值=100Last-Modified:Sun,2019年3月17日15:29:55GMT服务器:Apache/2.4.29(Ubuntu)Vary:Accept-EncodingHTTP身份验证?目前支持的认证方案有Basic和Digest。基本身份验证:$http-ausername:passwordexample.org摘要身份验证:$http-Adigest-ausername:passwordexample.org提示输入密码:$http-ausernameexample.org

最新推荐
猜你喜欢