最新消息:XAMPP默认安装之后是很不安全的,我们只需要点击左方菜单的 "安全"选项,按照向导操作即可完成安全设置。

linux交互更加友好的工具HTTPie

XAMPP相关 admin 479浏览 0评论

linux中有人因为httpie(更干爽)放弃了curl

之前在命令行下进行 HTTP 服务的调试和信息查看都是使用经典的 cURL,不过前段时间发现一个交互更加友好的工具,就是 HTTPie。

之前在命令行下进行 HTTP 服务的调试和信息查看都是使用经典的 cURL,不过前段时间发现一个交互更加友好的工具,就是 HTTPie。

先放一个 HTTPie 官方的一个 HTTPie VS cURL 的图给大家看看。

HTTPie VS cURL

HTTPie 则在使用时的表现力、人性化做得比 wget、curl 好得多,就像在官网上宣传的那样,它追求的是人性化、简单自然的语法,以及彩色的输出。而且 HTTPie 还有一些不错的优点,比如对 JSON 的良好支撑、持久性会话等特性。

Linux 上安装

Debian, Ubuntu 或 Linux Mint

sudo apt-get install httpie

Fedora,CentOS/RHEL

sudo yum install httpie

或者使用 python 的方式来安装

sudo  pip install --upgrade httpie

Mac OSX

brew install httpie

安装开发版本

# Mac OSX
brew install httpie --HEAD

# Python安装方式
pip install --upgrade https://github.com/jkbrzt/httpie/tarball/master

定制头部

http rumenz.com/test/ User-Agent:Xmodlo/1.0 Referer:http://rumenz.com

这个 HTTP 请求看起是这样。

GET /test/ HTTP/1.1
Accept: */*
Accept-Encoding: gzip, deflate
Connection: keep-alive
Host: rumenz.com
Referer: http://rumenz.com
User-Agent: Xmodlo/1.0

下载文件

你也可以把 HTTPie 作为文件下载器来使用。

http rumenz.com/test/ > httpie-howto.html
  • 或者
http --download rumenz.com/test/

使用其他 HTTP 方法

除了默认的 GET 方法,你还可以使用其他方法(比如 PUT、POST、DELETE、HEAD)

PUT

http PUT rumenz.com name='XAMPP中文组' email='rumenz@email.com'
POST
http -f POST rumenz.com name='XAMPP中文组' email='rumenz@email.com'

-f 选项使 http 命令序列化数据字段,并将Content-Type设置为application/x-www-form-urlencoded;charset=utf-8

这个 HTTP POST 请求看起这样:

POST / HTTP/1.1
Accept: */*
Accept-Encoding: gzip, deflate
Connection: keep-alive
Content-Length: 41
Content-Type: application/x-www-form-urlencoded; charset=utf-8
Host: rumenz.com
User-Agent: HTTPie/0.9.2

name=ru+menz&email=rumenz@email.com

HEAD

http HEAD rumenz.com

HEAD这个方法只会让服务器返回http response headers

这个命令结果如下:

Request

HEAD / HTTP/1.1
Accept: */*
Accept-Encoding: gzip, deflate
Connection: keep-alive
Host: rumenz.com
User-Agent: HTTPie/0.9.2

Response

HTTP/1.1 200 OK
Accept-Ranges: bytes
Access-Control-Allow-Origin: *
Age: 0
Cache-Control: max-age=600
Connection: keep-alive
Content-Encoding: gzip
Content-Length: 36794
Content-Type: text/html; charset=utf-8
Date: Wed, 15 Jul 2015 09:26:22 GMT
Expires: Wed, 15 Jul 2015 09:36:22 GMT
Last-Modified: Sun, 12 Jul 2015 11:32:15 GMT
Server: GitHub.com
Vary: Accept-Encoding
Via: 1.1 varnish
X-Cache: MISS
X-Cache-Hits: 0
X-Served-By: cache-fra1227-FRA
X-Timer: S1436952382.011631,VS0,VE99

JSON 支持

HTTPie 内置 JSON 的支持。事实上 HTTPie 默认使用的Content-Type就是application/json。因此,当你不指定Content-Type发送请求参数时,它们就会自动序列化为 JSON 对象。

http POST rumenz.com name='XAMPP中文组' email='rumenz@email.com'

这个请求看起来就是这样:

POST / HTTP/1.1
Accept: application/json
Accept-Encoding: gzip, deflate
Connection: keep-alive
Content-Length: 52
Content-Type: application/json
Host: rumenz.com
User-Agent: HTTPie/0.9.2

{
    "email": "rumenz@email.com",
    "name": "XAMPP中文组"
}

输入重定向

HTTPie 的另外一个友好特性就是输入重定向,你可以使用缓冲数据提供 HTTP 请求内容。例如:

http POST rumenz.com < my_info.json
  • 或:
echo '{"name": "入门小站","email": "rumenz@email.com"}' | http POST rumenz.com

 

转载请注明:XAMPP中文组官网 » linux交互更加友好的工具HTTPie

您必须 登录 才能发表评论!