1、前言

对于测试人员,经常使用 Jmeter 或 Postman 进行接口测试与调试,其实市面上还有很多接口测试工具,本篇将介绍一个简单但功能强大的命令行 HTTP 和 API 测试客户端-HTTPie,适用于 API 时代,方便对 API、HTTP服务器和 web 服务进行测试和调试。

2、简介

HTTPie(发音为aitch-tee-tee-pie)是一个命令行 HTTP 客户端。它的目标是使 CLI 与 Web 服务的交互尽可能人性化。HTTPie 设计用于测试、调试以及通常与 API 和 HTTP 服务器交互。http&https命令允许创建和发送任意 HTTP 请求。它们使用简单自然的语法,并提供格式化和彩色输出。

特点:

(1)富有表现力和直观的语法

(2)格式化和彩色终端输出

(3)内置 JSON 支持

(4)表格和文件上传

(5)HTTPS、代理和身份验证

(6)任意请求数据

(7)自定义标题

(8)持续会话

(9)类似 Wget 的下载

(10)Linux、macOS、Windows 和FreeBSD 支持

(11)插件

(12)文档

(13)测试覆盖率

官网地址:

https://httpie.io/

3、安装

1、Python 环境下安装(普遍的)

请确保您拥有 Python 3.7 或更高版本

python -m pip install --upgrade pip wheel
python -m pip install httpie

2、Mac 系统下安装

如使用 Homebrew,需先安装Homebrew

brew update
brew install httpie

3、Windows 系统下安装

如使用 Chocolatey,需先安装Chocolatey

choco install httpie

4、Linux(Debian and Ubuntu)系统下安装

curl -SsL https://packages.httpie.io/deb/KEY.gpg | apt-key add -
curl -SsL -o /etc/apt/sources.list.d/httpie.list https://packages.httpie.io/deb/httpie.list
apt update
apt install httpie

5、Linux(CentOS and RHEL)系统下安装

yum install epel-release
yum install httpie

6、FreeBSD 系统下安装

pkg install www/py-httpie

4、快速上手

4.1、用法

打开终端,输入命令

用法:

http [方法] URL [请求项…]

1、方法:

支持的方法有 GET、POST、HEAD、PUT、PATCH、DELETE 等,还可以使用自定义方法名称。

该方法参数是可选的,当你不指定它时,HTTPie 默认为:

GET 对于没有正文的请求

POST 对于带有正文的请求

GET 请求:

http GET pie.dev/get
或
http pie.dev/get

POST 请求:

http POST pie.dev/post hello=world
或
http pie.dev/post hello=world

2、URL:

默认方案是 http:// 可以从参数中省略。

http example.org
# → http://example.org

例如1:访问官方 Hello World

https httpie.io/hello

例如2:访问百度

http www.baidu.com

4.2、示例

本篇模拟接口请求链接使用 moco 生成。

关于 moco 的部署与使用等,可点击 moco 系列章节进行查阅。

1、GET 请求,无参,返回值为 Moco Get

如图所示:Postman 执行结果

使用 HTTPie 命令:

http localhost:8083/getdemo2

如图所示:HTTPie 执行结果

2、GET 请求,有参,返回值为 操作成功

如图所示:Postman 执行结果

使用 HTTPie 命令:

http GET http://localhost:8083/getdemo username==admin password==123456

如图所示:HTTPie 执行结果

3、POST 请求,表单,返回值为 admin,123456

如图所示:Postman 执行结果

使用 HTTPie 命令:

http --form POST localhost:8083/postdemo2 username='admin' password='123456'

如图所示:HTTPie 执行结果

4、POST 请求,JSON,信息头传 ‘Content-Type’: ‘application/json’

返回值为

{"username": "administrator","password": "abcdef"}

如图所示:Postman 执行结果

使用 HTTPie 命令:

http POST localhost:8083/header Content-Type:application/json username=admin password=123456

如图所示:HTTPie 执行结果

5、有关更多使用方法

终端运行 ‘http --help’ 命令,或者访问 https://httpie.io/docs/cli 即可。

最后: 可以在公众号:伤心的辣条 ! 自行领取一份216页软件测试工程师面试宝典文档资料【免费的】。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

学习不要孤军奋战,最好是能抱团取暖,相互成就一起成长,群众效应的效果是非常强大的,大家一起学习,一起打卡,会更有学习动力,也更能坚持下去。你可以加入我们的测试技术交流扣扣群:914172719(里面有各种软件测试资源和技术讨论)

喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!

接口测试与调试工具-HTTPie相关推荐

  1. Postman入门教程之详细下载及安装教程

    postman,一个接口测试或调试工具,具体的详细介绍,请参考文章: https://mp.weixin.qq.com/s/h27Z_XY0bfcRHVjasqEXRA (题外话,对英语不熟练的同学, ...

  2. Restful API接口调试工具推荐(Postman, HTTPie)

    Postman https://www.getpostman.com/postman HTTPie https://httpie.org/ https://github.com/jakubroztoc ...

  3. postman登录鉴权之接口测试

    一.背景 在做接口测试的时候,有些接口向后台请求数据的时候,是需要用户在登录情况下才有数据返回. 以电商平台为例,用户的个人中心,用户的订单列表,用户的支付信息等等,所有用户维度的数据都是需要登录态. ...

  4. soapui工具_python接口自动化(四)--接口测试工具介绍(详解)

    简介 "工欲善其事必先利其器",通过前边几篇文章的介绍,大家大致对接口有了进一步的认识.那么接下来让我们看看接口测试的工具有哪些. 目前,市场上有很多支持接口测试的工具.利用工具进 ...

  5. 【工具篇】接口测试神器 -- Postman 入门教程

    一.Postman概述 (1)工具介绍 Postman是一个接口测试工具,一款非常流行的API调试工具.在做接口测试的时候,Postman相当于一个客户端,它可以模拟用户发起的各类HTTP请求,将请求 ...

  6. 【Go语言】使用 http 库进行简单的接口测试

    Go语言进行简单的接口测试 接口文档说明 Go语言基础代码 在正常的测试中,当我们需要进行接口测试时,通常使用接口调试工具,如postman进行接口测试 目前我在尝试使用Go语言进行接口测试,使用的库 ...

  7. Postman接口测试神器从安装到精通

    1 摘要 Postman 是一个接口测试和 http 请求的神器,非常好用. 官方 github 地址: github.com/postmanlabs Postman 的优点: 支持各种的请求类型: ...

  8. web测试点总结---UI、兼容、功能、交互、安全、性能、接口测试

    一.概述 1.什么是web? web的本意是蜘蛛网和网的意思,在网页设计中我们称为网页的意思.现广泛译作网络.互联网等技术领域.表现为三种形式,即超文本(hypertext).超媒体(hypermed ...

  9. 数据接口测试工具 Postman 介绍

    此文介绍好用的数据接口测试工具 Postman,能帮助您方便.快速.统一地管理项目中使用以及测试的数据接口. 1. Postman 简介 Postman 一款非常流行的 API 调试工具.其实,开发人 ...

最新文章

  1. 最近做了一个搜索接口的优化,反复压测了四次,终于达到要求了
  2. 将 Docker 踢出群聊后,Kubernetes 还能否欢快地蹦跶吗?
  3. Hadoop系列三:Hadoop之Pig篇
  4. easyUI的引用顺序
  5. 如何调试 Android 上 HTTP(S) 流量
  6. css3中transform的用法
  7. C++ 比较两个字符串的“大小”
  8. 逆势增长 百度App日活破2亿
  9. 洛谷 P1396 营救
  10. 点击复制公众号按钮_96编辑器如何复制文章到公众号发布?
  11. 利用ESP定律进行脱壳 ——合天网安实验室学习笔记
  12. idea overlays文件夹_怎样把cyanogenmod移植到你自己的设备
  13. Vue3报错:Extraneous non-props attributes (style) were passed to component but could not be automatical
  14. 真实渗透改编--综合渗透 sql注入写马+文件上传+udf提权 安鸾靶场SQL注入学习
  15. [iOS开发]@autoreleasepool原理探究
  16. 脉脉发布AI人才数据图鉴;『李沐·深度学习论文精读』视频合辑;CVPR 2022自动驾驶资源合集;线性代数图绘笔记;前沿论文 | ShowMeAI资讯日报
  17. webpack 配置文件
  18. 元芳,你怎么看?元芳是谁?
  19. 面试高频算法题补充系列:木棍切割问题
  20. 修改tomcat的默认首页

热门文章

  1. 用python编写录音机——GUI控制录音开始与结束(PyQt5)
  2. Ubuntu中opencv的使用
  3. android项目中集成融云IM之实现消息提供者来显示群名
  4. 供应Pyrene-PEG-Biotin,Biotin-PEG-Pyrene,芘丁酸-聚乙二醇-生物素
  5. 关于使用CPU或GPU超频软件导致任务栏管理器CPU一栏资源占用100%的解决办法,并且通过电源设置达到处理器性能最大化。
  6. Java | IP工具类(获取访问者的ip地址 查询IP地址)
  7. 衡水商企联合会庆典 全国工商联·万祥军:商协社团谋定发展
  8. CAD下载完成之后想更大限度提高效率?这七个工具组合大有用处
  9. 阮老师详解ES6运算符扩展,浅显易懂!
  10. 从标题到活动谈谈微信运营三件事儿