HTTPie(命令行HTTP客户端)
v2.4.0 官方版- 软件大小:1.72 MB
- 更新日期:2021-04-30 09:50
- 软件语言:英文
- 软件类别:网页辅助
- 软件授权:免费版
- 软件官网:待审核
- 适用平台:WinXP, Win7, Win8, Win10, WinAll
- 软件厂商:
软件介绍 人气软件 下载地址
HTTPie是一款命令行类型的HTTP客户端,用户可以通过这款软件测试网页服务器,可以调试HTTP服务器,直接通过命令的方式就可以对HTTP项目测试,您可以发送多种网页请求,使用内置的默认请求头就可以快速编辑请求命令,您可以发送一个或者多个cookie到服务器,也提供身份认证功能,可以在软件配置网络HTTP认证方案,支持基本认证、摘要授权、密码认证、HTTP重定向等功能,让用户在管理HTTP服务器的时候获得更多帮助,新版修复了请求和响应(#1006)之间缺少空白行的问题,添加了对流上传的支持,如果你需要这款软件就下载吧!
软件功能
HTTPie:适用于API时代的人性化CLI CLI HTTP客户端
HTTPie(发音为aitch-tee-tee-pie)是命令行HTTP客户端。其目标是使CLI与Web服务的交互尽可能对人类友好。HTTPie设计用于测试,调试,并通常与API和HTTP服务器交互。在http与https命令允许创建和发送任意HTTP请求。它们使用简单自然的语法,并提供格式化和彩色输出。
富有表现力和直观的语法
格式化和彩色的终端输出
内置JSON支持
表格和文件上传
HTTPS,代理和身份验证
任意请求数据
自定义标题
持续性会议
类似于Wget的下载
Linux,macOS和Windows支持
外挂程式
文献资料
测试范围
软件特色
添加了对上载文件的自定义内容类型的支持
添加了对$XDG_CONFIG_HOME(#920)的支持。
添加了对Set-Cookie触发的Cookie到期的支持
添加--format-options以允许禁用排序等
新增了--sorted和--unsorted(取消)设置所有与排序相关的的快捷方式--format-options。
添加--ciphers以允许配置OpenSSL密码
添加了netrc对auth插件的支持。为--auth-type=basic 和启用的digest,第三方可以选择加入
使用说明
7个请求项
有几种不同的请求项类型,它们提供了一种方便的机制来指定HTTP标头,简单的JSON和表单数据,文件和URL参数。
它们是在URL后指定的键/值对。在共同所有的优点是它们成为被发送的实际请求的一部分,他们的类型仅区分由隔板使用: :,=,:=,==,@,=@,和:=@。那些 @期望文件路径作为值的文件。
物品种类描述
1、HTTP标头 Name:Value
任意HTTP标头,例如X-API-Token:123。
2、网址参数 name==value
将给定的名称/值对作为查询字符串参数附加到URL。使用==分隔符。
3、数据字段field=value,field=@file.txt
请求将数据字段序列化为JSON对象(默认),进行表单编码(使用--form, -f)或序列化为 multipart/form-data(使用--multipart)。
4、原始JSON字段field:=json,field:=@file.json
有用的发送JSON和一个或多个字段需要一个时Boolean,Number嵌套Object,或者Array,例如, meals:='["ham","spam"]'或pies:=[1,2,3] (注意引号)。
5、字段上传字段field@/dir/filefield@file;type=mime
仅可用于--form, -f和 --multipart。例如screenshot@~/Pictures/img.png,或'cv@cv.txt;type=text/markdown'。使用--form,文件字段的存在会导致--multipart请求。
下载文件名
HTTPie通过三种互斥方式确定输出文件名(优先级递减):
您可以通过明确提供--output, -o。如果该文件已经存在(或附加到--continue, -c),则会被覆盖。
服务器可以在可选的Content-Disposition 响应头中指定文件名。从服务器提供的文件名中删除所有前导点。
HTTPie最后使用的方法是根据请求URL和响应的组合生成文件名Content-Type。初始URL始终用作生成文件名的基础-即使存在一个或多个重定向。
为了防止由于覆盖而导致数据丢失,HTTPie会在必要时在文件名中添加一个唯一的数字后缀(除非使用指定--output, -o)。
下载时管道
您还可以将响应正文重定向到另一个程序,同时响应头和进度仍显示在终端中:
▶运行$ http -d https://github.com/httpie/httpie/archive/master.tar.gz
恢复下载
如果--output, -o指定,则可以使用--continue, -c选项恢复部分下载 。这仅适用于支持Range请求和206 Partial Content响应的服务器 。如果服务器不支持该文件,则只需下载整个文件即可:
▶运行$ http -dco file.zip example.org/file
其他注意事项
该--download选项仅更改响应主体的处理方式。
您仍然可以设置自定义标题,使用会话--verbose, -v等。
--download总是暗示--follow(遵循重定向)。
--download还暗示--check-status (错误的HTTP状态将导致存在非零的静态代码)。
1如果尚未完全下载正文,则HTTPie会以状态代码(错误)退出。
Accept-Encoding无法使用设置--download。
命名会议
您可以为每个主机创建一个或多个命名会话。例如,这是您可以创建一个名为的新会话user1的方法pie.dev:
▶运行$ http --session = user1 -a user1:password pie.dev/get X-Foo:Bar
从现在开始,您可以通过会话名称(user1)引用会话。当您选择再次使用会话时,将自动设置任何先前指定的身份验证或HTTP标头:
▶运行$ http --session = user1 pie.dev/get
要创建或重用其他会话,只需指定其他名称即可:
▶运行$ http --session = user2 -a user2:password pie.dev/get X-Bar:Foo
命名会话的数据存储在JSON文件里面sessions 的子目录配置目录,通常为:~/.config/httpie/sessions//.json (%APPDATA%\httpie\sessions\\.json在Windows上)。
如果您在UNIX机器上执行了以上命令,则应该能够使用以下命令列出生成的会话文件:
▶运行$ ls -l〜/ .config / httpie / sessions / pie.dev
匿名会议
除了名称,您还可以直接指定会话文件的路径。这样可以在多个主机之间重用会话:
▶运行#创建一个会话:
$ http --session = /tmp/session.json example.org
▶运行#使用会话向另一个主机发出请求:
$ http --session = /tmp/session.json admin.example.org
▶运行#您还可以引用以前创建的命名会话:
$ http --session =〜/ .config / httpie / sessions / another.example.org / test.json example.org
创建匿名会话时,请记住始终包含至少一个/,即使会话文件位于当前目录中(即,--session=./session.json而不是仅位于--session=session.json),否则HTTPie会假定使用命名会话。
只读会话
要使用现有会话文件而不创建后在请求/响应交换中对其进行更新,请--session-read-only=SESSION_NAME_OR_PATH改为通过指定会话名称 。
▶运行#如果会话文件不存在,则会创建它:
$ http --session-read-only = ./ro-session.json pie.dev/headers Custom-Header:orig-value
▶运行#但不会更新:
$ http --session-read-only = ./ro-session.json pie.dev/headers自定义标头:新值
Cookie的存储行为
TL; DR: Cookie存储优先级:服务器响应>命令行请求>会话文件
要在会话中设置Cookie,可以使用以下三个选项:
Set-Cookie从服务器获取响应头
▶运行$ http --session = ./session.json pie.dev/cookie/set?foo = bar
如在cookie中看到的那样,通过命令行设置cookie名称和值
▶运行$ http --session = ./session.json pie.dev/headers Cookie:foo = bar
在会话的json文件中手动设置cookie参数
Cookies将以上面指定的优先级在会话文件中设置。例如,通过命令行设置的cookie将覆盖存储在会话文件中的同名cookie。如果服务器返回Set-Cookie带有相同名称的cookie的标头,则返回的cookie将覆盖先前存在的cookie。
过期的cookie永远不会存储。如果会话文件中的cookie过期,则将在发送新请求之前将其删除。如果服务器使现有Cookie失效,则还将从会话文件中将其删除。
设定档
HTTPie使用一个简单的config.json文件。该文件默认情况下不存在,但是您可以手动创建它。
配置文件目录
要查看安装的确切位置,请运行http --debug并config_dir在输出中查找。
在大多数平台上,配置文件的默认位置是 $XDG_CONFIG_HOME/httpie/config.json(默认为 ~/.config/httpie/config.json)。
为了向后兼容,如果目录~/.httpie存在,则将使用那里的配置文件。
在Windows上,配置文件位于%APPDATA%\httpie\config.json。
可以通过设置$HTTPIE_CONFIG_DIR 环境变量来更改config目录
可配置选项
当前,HTTPie提供了一个可配置的选项:
default_options
一个Array(默认为空)的应适用于HTTPie的每次调用默认选项。
例如,您可以使用此配置选项来更改默认的颜色主题:
即使从技术上讲可以在其中包含HTTPie的任何选项,也不建议以可能破坏您与更广泛世界的兼容性的方式修改默认行为,因为这可能会引起很多混乱。
取消设置先前指定的选项
可以--no-OPTION通过在命令行上传递的参数(例如--no-style或--no-session)为特定的调用取消配置文件中的默认选项或以其他任何方式指定的默认选项。
界面设计
命令参数的语法与通过网络发送的实际HTTP请求非常接近。它具有易于记住和阅读的优点。仅通过内联请求元素,通常就可以将HTTP请求转换为HTTPie参数列表。例如,比较以下HTTP请求:
请注意,元素的顺序和语法都非常相似,并且命令中只有一小部分用于控制HTTPie,并且不直接对应于请求的任何部分(这里仅-f 要求HTTPie发送表单要求)。
两种模式--pretty=all(终端默认)和--pretty=none (重定向输出默认)允许用户友好的交互使用和脚本的使用,其中HTTPie用作通用HTTP客户端。
更新日志
2.4.0(2021-02-06)
添加了对基于的--sessionCookie过期的支持Set-Cookie: max-age=。(#1029)
不仅在重定向输出时,还显示--check-status警告--quiet。(#1026)
修复了--session(#1020)的上传。
修复了请求和响应(#1006)之间缺少空白行的问题。
2.3.0(2020-10-25)
添加了对流上传的支持(#201)。
添加了对分段上传流的支持(#684)。
添加了对从文件正文上传流(http pie.dev/post @file)的支持。
添加--chunked以启用分块传输编码(#753)。
添加--multipart以允许multipart/form-data对非文件--form请求进行编码。
添加了对在多部分请求中保留字段顺序的支持(#903)。
添加--boundary以允许自定义边界字符串用于multipart/form-data请求。
添加了对组合在CLI和会话文件(#932)中指定的cookie的支持。
开箱即用,无需额外安装即可添加SOCKS支持(#904)。
添加了--quiet, -q标志以强制执行静音行为。
修复了标题中无效expires日期的处理Set-Cookie(#963)。
完全删除了Tox测试(#943)。
人气软件
-
网站万能信息采集器 8.68 MB
/简体中文 -
找货神器插件(chrome淘宝找货神器插件) 0.02 MB
/简体中文 -
Next FlipBook Maker Pro(HTML5翻页制作软件) 144 MB
/英文 -
自媒体全平台采集助手 2.85 MB
/简体中文 -
12306订票助手.NET版 3.31 MB
/简体中文 -
疯狂的美工阿里巴巴自由布局工具 4.66 MB
/简体中文 -
疯狂的美工在线自由布局工具 5.79 MB
/简体中文 -
万能弹窗广告工具 1.89 MB
/简体中文 -
酒店比价插件(chrome酒店价格比较插件) 0.79 MB
/简体中文 -
网页关键词监控大师 0.82 MB
/简体中文