对于开发的小伙伴来说,调试服务端代码时,用得最多的HTTP命令行工具可能就是curl了;下载文件时,也经常会使用wget,今天要介绍一个实用的HTTP客户端命令行工具,HTTPie。
HTTPie是一个HTTP客户端的命令行工具,类似于curl,它的目标是使客户端和服务器交互更加友好。HTTPie提供了简单的命令,并允许使用简单和自然的语法发送任意的HTTP请求,并展现出多样的输出。HTTPie能用在测试、调试以及与HTTP服务器交互等方面。
一.首先介绍下HTTPie的安装过程
安装是比较简单的,一行命令就能搞定了。下面是在linux(ubuntu)和windows上安装的例子。
1.在ubuntu上安装:
sudo apt-get install httpie
执行后,会进行安装:
![018727fedbf2f89bdcd225426b707673.png](https://i-blog.csdnimg.cn/blog_migrate/fddeeba1c234b131fce5c50e55983444.jpeg)
2.在windows上安装
pip install --upgrade httpie
执行后,会进行安装:
![2dd16254f9a1a4f290e2312f4ab43bbd.png](https://i-blog.csdnimg.cn/blog_migrate/3ff8cd09c43516661ae1e0a597004e91.jpeg)
另外,使用HTTPie时,需要先安装python。推荐安装最新版本的python,这样可以保证使用一些新功能。可以执行http –debug来查看HTTPie使用的python版本。
![8502fd616884d7cc138b2c39457bcdfc.png](https://i-blog.csdnimg.cn/blog_migrate/663f233e4cc4a7c93eb23cc89ea0ae65.jpeg)
HTTPie安装完成后,可以执行http –version查看版本:
![655bcf1b3516281fb31682c1556be9c0.png](https://i-blog.csdnimg.cn/blog_migrate/bdbf266de27023fa7dd6649e2cd7285c.jpeg)
二.安装完成后,下面介绍HTTPie的基本使用
基本语法如下:
http [flags] [METHOD] URL [ITEM [ITEM]]
也可使使用http –help查看详细使用信息
为演示方便,下面在windows下演示。会在windows下开启一个服务供HTTPie去请求访问。
1.首先测试使用HTTPie发送GET请求
http GET url
看下面的例子:
![1b187d338dbd185c6472c8180cbc940f.png](https://i-blog.csdnimg.cn/blog_migrate/2d024f922ee5896a1bfabce11af01575.jpeg)
例子中,使用HTTPie向http://127.0.0.1:8000/api/v1/test03/test01/发送了GET请求,得到了响应结果。
2.使用HTTPie发送POST请求
http POST url
看下面的例子:
![dee70239115d9bf0d02bf5e19ba85701.png](https://i-blog.csdnimg.cn/blog_migrate/d6da5d8c741c7a9217aa5b78d847a6c3.jpeg)
上面向http://127.0.0.1:8000/api/v1/test03/test02/这个地址发送了一个POST请求,并得到了响应。
3.发送带参数的POST请求
参数格式是form-data
http -f POST url 参数名1=参数值1 参数名2=参数值2 …
例子如下:
![33ad491316a248087df7b5574c124b54.png](https://i-blog.csdnimg.cn/blog_migrate/66ac188efd44377b5c2e54e38520feb4.jpeg)
上面发送了带参数的POST请求,其中-f表示参数类型是form-data类型
4.发送json参数的POST请求
由于json数据格式在web service方面越来越流行,HTTPie中默认发送json格式的数据,发送方式如下:
http POST url 参数名1=参数值1 参数名2=参数值2 …
例子如下:
![0e5dd5de39bc495f65670a1446f55c18.png](https://i-blog.csdnimg.cn/blog_migrate/f6429e6dde2abd6c2faefecdbdca841c.jpeg)
5.发送PUT请求
PUT请求的发送与POST请求类似,仅仅是请求名称不同,这里就不做介绍了。
今天就介绍到这里,欢迎感兴趣的小伙伴私信交流。