Httpie介紹
Httpie(發(fā)音為aych-tee-tee-pie)是一個(gè)命令行的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.如果你用過(guò)curl命令焰坪,會(huì)感覺Curl命令確屬很好使用,但是httpie的目的是盡可能得做得比Curl更加簡(jiǎn)單。Httpie是使用python語(yǔ)言編寫的颗味,它是基于非常著名的Request和Pygments框架。
httpie安裝
1.0在Mac OS X, httpie可以通過(guò)Homebrew安裝
$ brew install httpie
2.0通過(guò)pip命令安裝
$ pip install --upgrade pip setuptools
$ pip install --upgrade httpie
用途
對(duì)于最為iOS開發(fā)來(lái)說(shuō)牺弹,有時(shí)候向后臺(tái)進(jìn)行數(shù)據(jù)的請(qǐng)求浦马,對(duì)于簡(jiǎn)單的GET的請(qǐng)求,可以直接通過(guò)瀏覽器進(jìn)行請(qǐng)求測(cè)試张漂,那么對(duì)POST的請(qǐng)求晶默,你怎么進(jìn)行測(cè)試呢?這里你可以使用Curl命令進(jìn)行請(qǐng)求測(cè)試鹃锈,但是今天我們要介紹httpie進(jìn)行請(qǐng)求數(shù)據(jù)請(qǐng)求荤胁。目的是:不寫代碼也可以進(jìn)行接口的測(cè)試。
使用
hello world:
$ http www.baidu.com // http開頭屎债,后面接著網(wǎng)址(URL)
在終端下面可以看到把百度首頁(yè)的數(shù)據(jù)全部請(qǐng)求下來(lái)仅政。
httpie語(yǔ)法格式:
$ http [fags] [method] URL [ITEM [ITEM]]
使用httpie進(jìn)行GET請(qǐng)求
get請(qǐng)求非常簡(jiǎn)單,這里使用一個(gè)微博的API盆驹,請(qǐng)求地址為http https://api.weibo.com/2/trends/hourly.json?access_token=2.004YppQEmwhOvBb3fbef84beEkKntC直接放進(jìn)瀏覽器既可以獲取到數(shù)據(jù)了圆丹。
使用httpie請(qǐng)求也很簡(jiǎn)單,在端輸入:
$ 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
請(qǐng)求結(jié)果如下:
注意這里把參數(shù)和請(qǐng)求的URL地址用空格分開,參數(shù)中用==進(jìn)行連接躯喇。由于默認(rèn)的請(qǐng)求是GET請(qǐng)求辫封,所以GET的參數(shù)可以省略。
POST請(qǐng)求
對(duì)于POST請(qǐng)求需要在http后面加上參數(shù)POST,參數(shù)之間的鏈接用==鏈接廉丽,如下面的請(qǐng)求:
$ 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
請(qǐng)求結(jié)果如下:
需要注意的是如果你請(qǐng)求參數(shù)之間有空格的話倦微,需要為參數(shù)加上"",如果沒有空格,這個(gè)雙引號(hào)可以不需要,另外==前面和后面的不要有空格正压,每個(gè)參數(shù)之間用空格分開欣福。如這個(gè)請(qǐng)求http POST https://api.weibo.com/2/statuses/upload_url_text.json status=="hello world" url==http://www.baidu.com。httpie請(qǐng)求到的數(shù)據(jù)已經(jīng)幫你格式化成json數(shù)據(jù)了焦履,結(jié)構(gòu)也特別的清晰拓劝,我們不需要對(duì)數(shù)據(jù)進(jìn)行json解析了。
[http://www.reibang.com/p/8d346d155c12]
更多的使用請(qǐng)求參考httpie的github地址[https://github.com/jkbrzt/httpie]