HTTPie使用详解
本文最后更新于 2023年12月29日 上午
HTTPie使用详解
1 概述
HTTPie 设计用来增强 wget 和 curl 的可用性。它的主要目标是使通过命令行与网络服务器进行交互的过程变得尽可能的人性化。为此,HTTPie 支持具有表现力、但又很简单很直观的语法。它以彩色模式显示响应,并且还有一些不错的优点,比如对 JSON 的良好支持,和持久性会话用以作业流程化。
HTTPie 是一个命令行形式的 http 客户端,它提供了简单的 http 命令,返回带代码高亮的结果信息,可以很方便的在 http 交互场景下进行测试、调试等。废话不多说,直接上干货。
1 |
|
使用 HTTPie
下面主要以 http://httpbin.org 网站来进行测试
使用语法:
1 |
|
METHOD 没有指定时,默认为 get
URL 协议没有指定时,默认为 http://
Get 请求
1 |
|
等同于:
http get http://httpbin.org/get
若需要带参数时用 param==value 的形式
Post 请求
Post 请求时表单用 = ,默认为 post
1 |
|
传递 Json
格式跟上面差不多,若传递值不是字符串时,用 :=
若当进行 post 请求时,传递数据太多,我们可以直接传一个 json 类型文件,用 =@ 和 :=G
1 |
|
提交表单
提交表单只需添加 -f
或 --form
即可
设置请求头
从上图中可以看出,有些请求头是默认的,例如 User-Agent 为 “HTTPie/0.9.9”
通常我们需要修改请求头,只需设置形式如: header:value
重定向
默认不会自动重定向
若要跟随重定向,显示最终的响应结果,在前面加 –follow 或 -F
使用代理
通过参数 --proxy
1 |
|
Basic 授权为:
1 |
|
SSL 证书验证
使用参数 --verify=no
来跳过 SSL 验证,默认是 yes
输出参数选项
可以选择性的打印出响应头、响应体、或两者
响应头: --headers
或 -h
响应体: --body
或 -b
两者: --verbose
或 -v
默认输出是两者
###重定向输出
有时,我们需要将输出到某个文件中,特别是响应的内容太多,导致不能翻页查看,这时我们可以重定向文件,符号为 >
拿淘宝网举例:
1 |
|
下载文件
使用参数 --download
或 -d
下载
使用参数 --output
或 -o
来指定输出地址