但此时你无法看到原来的 Set-Cookie 头 。为了看到中间响应,你需要使用 --all:
$ http --headers --all --follow GET https://httpbin.org/cookies/set/opensource/awesomeHTTP/1.1 302 FOUNDAccess-Control-Allow-Credentials: trueAccess-Control-Allow-Origin: *Content-Type: text/html; charset=utf-8Date: Sat, 10 Aug 2019 01:38:40 GMTLocation: /cookiesReferrer-Policy: no-referrer-when-downgradeServer: nginxSet-Cookie: opensource=awesome; Path=/X-Content-Type-Options: nosniffX-Frame-Options: DENYX-XSS-Protection: 1; mode=blockContent-Length: 223Connection: keep-aliveHTTP/1.1 200 OKAccess-Control-Allow-Credentials: trueAccess-Control-Allow-Origin: *Content-Encoding: gzipContent-Type: application/jsonDate: Sat, 10 Aug 2019 01:38:41 GMTReferrer-Policy: no-referrer-when-downgradeServer: nginxX-Content-Type-Options: nosniffX-Frame-Options: DENYX-XSS-Protection: 1; mode=blockContent-Length: 66Connection: keep-alive打印响应体并不有趣,因为你大多数时候只关心 cookie 。如果你想看到中间请求的响应头,而不是最终请求中的响应体,你可以使用:
$ http --print hb --history-print h --all --follow GET https://httpbin.org/cookies/set/opensource/awesomeHTTP/1.1 302 FOUNDAccess-Control-Allow-Credentials: trueAccess-Control-Allow-Origin: *Content-Type: text/html; charset=utf-8Date: Sat, 10 Aug 2019 01:40:56 GMTLocation: /cookiesReferrer-Policy: no-referrer-when-downgradeServer: nginxSet-Cookie: opensource=awesome; Path=/X-Content-Type-Options: nosniffX-Frame-Options: DENYX-XSS-Protection: 1; mode=blockContent-Length: 223Connection: keep-aliveHTTP/1.1 200 OKAccess-Control-Allow-Credentials: trueAccess-Control-Allow-Origin: *Content-Encoding: gzipContent-Type: application/jsonDate: Sat, 10 Aug 2019 01:40:56 GMTReferrer-Policy: no-referrer-when-downgradeServer: nginxX-Content-Type-Options: nosniffX-Frame-Options: DENYX-XSS-Protection: 1; mode=blockContent-Length: 66Connection: keep-alive{ "cookies": { "opensource": "awesome" }}【使用 HTTPie 进行 API 测试】你可以使用 --print 精确控制打印的内容(h:响应头;b:响应体),并使用 --history-print 覆盖中间请求的打印内容设置 。
使用 HTTPie 下载二进制文件有时响应体并不是文本形式,它需要发送到可被不同应用打开的文件:
$ http GET https://httpbin.org/image/jpegHTTP/1.1 200 OKAccess-Control-Allow-Credentials: trueAccess-Control-Allow-Origin: *Connection: keep-aliveContent-Length: 35588Content-Type: image/jpegDate: Fri, 09 Aug 2019 20:25:49 GMTReferrer-Policy: no-referrer-when-downgradeServer: nginxX-Content-Type-Options: nosniffX-Frame-Options: DENYX-XSS-Protection: 1; mode=block+-----------------------------------------+| NOTE: binary data not shown in terminal |+-----------------------------------------+要得到正确的图片,你需要保存到文件:
$ http --download GET https://httpbin.org/image/jpegHTTP/1.1 200 OKAccess-Control-Allow-Credentials: trueAccess-Control-Allow-Origin: *Connection: keep-aliveContent-Length: 35588Content-Type: image/jpegDate: Fri, 09 Aug 2019 20:28:13 GMTReferrer-Policy: no-referrer-when-downgradeServer: nginxX-Content-Type-Options: nosniffX-Frame-Options: DENYX-XSS-Protection: 1; mode=blockDownloading 34.75 kB to "jpeg.jpe"Done. 34.75 kB in 0.00068s (50.05 MB/s)试一下!图片很可爱 。
使用 HTTPie 发送自定义请求你可以发送指定的请求头 。这对于需要非标准头的自定义 Web API 很有用:
$ http GET https://httpbin.org/headers X-Open-Source-Com:Awesome{ "headers": { "Accept": "*/*", "Accept-Encoding": "gzip, deflate", "Host": "httpbin.org", "User-Agent": "HTTPie/1.0.2", "X-Open-Source-Com": "Awesome" }}最后,如果要发送 JSON 字段(尽管可以指定确切的内容),对于许多嵌套较少的输入,你可以使用快捷方式:
$ http --body PUT https://httpbin.org/anything open-source=awesome author=moshez{ "args": {}, "data": "{"open-source": "awesome", "author": "moshez"}", "files": {}, "form": {}, "headers": { "Accept": "application/json, */*", "Accept-Encoding": "gzip, deflate", "Content-Length": "46", "Content-Type": "application/json", "Host": "httpbin.org", "User-Agent": "HTTPie/1.0.2" }, "json": { "author": "moshez", "open-source": "awesome" }, "method": "PUT", "origin": "73.162.254.113, 73.162.254.113", "url": "https://httpbin.org/anything"}下次在调试 Web API 时,无论是你自己的还是别人的,记得放下 cURL,试试 HTTPie 这个命令行工具 。
推荐阅读
- 让双系统使用更轻松
- 猴春茶业加盟信息,正皓茶业全国招商火热进行中
- 蓝翼茗茶招商加盟信息,正皓茶业全国招商火热进行中
- 如果美国在朝鲜使用核弹 朝鲜战争如果美国使用核弹中国能扛得住吗
- 中小企业如何利用网站来进行营销?
- WIN10系统刚重装需要进行哪些优化?
- 嘉盛茶业招商加盟信息,正皓茶业全国招商火热进行中
- 安卓|谷歌确认!Android 13最大改进 解决杀后台:CPU/内存使用率暴降
- Centos8.2 使用 Openldap 认证登录
- 如何使用Word里的论文版式功能
