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语言编写的,它是基于非常著名的Request和Pygments框架。
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
请求结果如下:
注意这里把参数和请求的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
请求结果如下:
需要注意的是如果你请求参数之间有空格的话,需要为参数加上"",如果没有空格,这个双引号可以不需要,另外==前面和后面的不要有空格,每个参数之间用空格分开。如这个请求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]