使用httpie进行接口测试

Httpie介绍

Httpie(发音为aych-tee-tee-pie)是一个命令行的http客户端。它的英文介绍得太好了,我就不翻译了:Its goal is to make CLI interaction with web services as human-friendly as possible. It provides a simple http command that allows for sending arbitrary HTTP requests using a simple and natural syntax, and displays colorized output. HTTPie can be used for testing, debugging, and generally interacting with HTTP servers.如果你用过curl命令,会感觉Curl命令确属很好使用,但是httpie的目的是尽可能得做得比Curl更加简单。Httpie是使用python语言编写的,它是基于非常著名的RequestPygments框架。

httpie安装

1.0在Mac OS X, httpie可以通过Homebrew安装

$ brew install httpie

2.0通过pip命令安装

$ pip install --upgrade pip setuptools
$ pip install --upgrade httpie

用途

对于最为iOS开发来说,有时候向后台进行数据的请求,对于简单的GET的请求,可以直接通过浏览器进行请求测试,那么对POST的请求,你怎么进行测试呢?这里你可以使用Curl命令进行请求测试,但是今天我们要介绍httpie进行请求数据请求。目的是:不写代码也可以进行接口的测试。

使用

hello world:

$ http www.baidu.com // http开头,后面接着网址(URL)

在终端下面可以看到把百度首页的数据全部请求下来。

httpie语法格式:

$ http [fags] [method] URL [ITEM [ITEM]]

使用httpie进行GET请求

get请求非常简单,这里使用一个微博的API,请求地址为http https://api.weibo.com/2/trends/hourly.json?access_token=2.004YppQEmwhOvBb3fbef84beEkKntC直接放进浏览器既可以获取到数据了。

使用httpie请求也很简单,在端输入:

$ http https://api.weibo.com/2/trends/hourly.json?access_token=2.004YppQEmwhOvBb3fbef84beEkKntC

或者

$ http https://api.weibo.com/2/trends/hourly.json access_token==2.004YppQEmwhOvBb3fbef84beEkKntC
请求结果如下:

使用httpie进行接口测试_第1张图片
屏幕快照 2015-12-23 上午9.29.57.png

注意这里把参数和请求的URL地址用空格分开,参数中用==进行连接。由于默认的请求是GET请求,所以GET的参数可以省略。

POST请求

对于POST请求需要在http后面加上参数POST,参数之间的链接用==链接,如下面的请求:

$ http POST https://api.weibo.com/2/statuses/upload_url_text.json status=="hello world" url=="http://www.baidu.com"

$ http POST http://cc.putaoji.cc/Apiv5/Account/getUserBankConfig userToken==s2DKw0I1VXxuy6YBU3tTAESjMmgaOvoJNrn9bGfd

请求结果如下:


使用httpie进行接口测试_第2张图片
屏幕快照 2015-12-23 上午9.07.48.png

需要注意的是如果你请求参数之间有空格的话,需要为参数加上"",如果没有空格,这个双引号可以不需要,另外==前面和后面的不要有空格,每个参数之间用空格分开。如这个请求http POST https://api.weibo.com/2/statuses/upload_url_text.json status=="hello world" url==http://www.baidu.com。httpie请求到的数据已经帮你格式化成json数据了,结构也特别的清晰,我们不需要对数据进行json解析了。
[http://www.jianshu.com/p/8d346d155c12]
更多的使用请求参考httpie的github地址[https://github.com/jkbrzt/httpie]

你可能感兴趣的:(使用httpie进行接口测试)