【导语】:Python实现的HTTP请求命令行客户端,我理解为curl的Python版本,但是提供了更友好,更易使用的命令及选项。

简介

HTTPie是使用Python实现的HTTP命令行工具,提供了更人性化、交互性更好的命令和选项,可以用来做测试、调试以及与HTTP API服务器交互,http和https命令可以用来发送任意的http请求,使用自然简单的语法,提供格式化和颜色输出。

HTTPie具有以下主要功能特点:

1、自然直观的语法

2、可格式化终端输出,包括颜色的区分

3、支持JSON

4、支持表单和文件上传

5、支持HTTPS、代理和身份验证

6、可以发送任意请求数据

7、自定义请求头

8、会话持久化

9、类似wget的下载功能

10、支持Linux、macOS和Windows

11、支持插件

12、完善的文档支持

下载安装

项目源码地址:

https://github.com/httpie/httpie

项目测试demo:

https://httpie.io/run

运行环境要求Python3.6版本及以上。Windows平台上的安装需确保setuptools版本是最新的,使用以下命令进行安装:

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

其他平台上的安装方法参考项目地址中的readme即可,写得很清晰。同时,HTTPie的官网还提供了一个工具,可以直接在浏览器上执行HTTPie命令,用来尝鲜、测试都很方便。

简单使用

从官网的几个例子来看看HTTPie的用法。

1、这行命令表示,向地址http://httpbin.org发送PUT请求,自定义请求头为X-API-Token:123,请求数据格式为JSON,具体的键值为name=John。从这个例子可以看得出,http命令后面跟随请求方法(PUT、DELETE、POST等),自定义的请求头用XX:YY的格式表示,JSON数据用XX=YY表示。

http PUT httpbin.org/put X-API-Token:123 name=John

执行结果为:

2、这行命令表示,向地址http://httpbin.org以表单的方式发送POST请求,-f选项表示表单格式提交数据。

http -f POST httpbin.org/post hello=World

执行结果为:

3、这行命令表示,向地址http://httpbin.org发送GET请求,-v表示输出整个HTTP请求响应交换的数据(也有其他选项,比如—headers,-h仅打印响应头,--body,-b仅打印响应数据)。如果没有显式指明请求方法,当没有发送数据时,默认为GET方法,当有发送数据时,默认为POST方法。

http -v httpbin.org/get

执行结果为:

4、这行命令表示,向目标地址发送POST请求。我们知道github是需要登录认证的,这也是-a(--auth)这个选项的作用,-a后面紧跟着用户名,在下面命令执行的过程中,会交互式地要求你输入密码。

http -a USERNAME POST https://api.github.com/repos/httpie/httpie/issues/83/comments body='HTTPie is awesome! :heart:'

执行过程为:

5、这行命令表示,向地址http://httpbin.org上传文件data.json,使用了重定向符号作为文件输入。

http httpbin.org/post < files/data.json

相应地,下载文件并重定向到本地保存的例子如下:

http httpbin.org/image/png > image.png

以上就是官网提供的几个简单例子,但是HTTPie所支持的功能远远不止这些,比如mutipart/form-data的文件上传、HTTP代理转发、分块传输、HTTPS的证书验证、指定SSL版本、格式化输出等许许多多常用、好用的功能,对于经常需要调试HTTP网络的同学来说,这绝对是一个好工具,相比curl,其命令和选项都更加友好,请各位参考官方文档,自己去尝试吧。

body curl命令测试post_HTTP接口调试利器!4.8万Star的HTTP命令行客户端!相关推荐

  1. curl put方法 测试http_HTTP接口调试利器!4.8万Star的HTTP命令行客户端!

    [导语]:Python实现的HTTP请求命令行客户端,我理解为curl的Python版本,但是提供了更友好,更易使用的命令及选项. 简介 HTTPie是使用Python实现的HTTP命令行工具,提供了 ...

  2. linux nc命令测试端口,Linux和Windows下的NC(Netcat)命令测试端口连通性

    1.Linux OS 环境下(以Centos为例),使用nc命令分别测试TCP和UDP端口连通性:css 安装方法:nginx 在客户端和服务器端分别安装nc工具,安装命令以下:web yum ins ...

  3. 接口调试利器Postman

    Postman是一款功能强大的http接口测试工具,使用Postman可以完成http各种请求的功能测试.作为服务器端开发人员,当一个业务功能开发完毕后,应该用Postman进行功能测试. 1.请自行 ...

  4. 微信“公众平台测试账号”接口调试指南

    接入微信公众平台开发,开发者需要按照如下步骤完成: 1.填写服务器配置 2.验证服务器地址的有效性 3.依据接口文档实现业务逻辑 实际开发时请自行参阅官方文档:http://mp.weixin.qq. ...

  5. 接口调试利器:Postman

    Postman是一款功能强大的http接口测试工具,使用Postman可以完成http各种请求的功能测试.作为 服务器端开发人员,当一个业务功能开发完毕后,应该用Postman进行功能测试. 1.请自 ...

  6. [转]九个Console命令,让js调试更简单

    转自:九个Console命令,让js调试更简单 一.显示信息的命令 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <!DOCTYPE html> <html ...

  7. 通过ping命令测试主机与虚拟机之间是否连通

    一.查询本机.虚拟机Windows IP地址 1.本机的Windows IP地址 方法一:控制面板>网络和Internet>网络和共享中心>更改适配器设置>以太网>详细信 ...

  8. 玩转curl指令—测试简单的HTTP接口

    官网:https://curl.se/ GitHub:https://github.com/curl/curl Doc.:https://everything.curl.dev/ 昨天在测试一个HTT ...

  9. cURL(wget)—— 测试 RESTful 接口及模拟 GET/POST/PUT/DELETE/OPTIONS 请求

    cURL 是一个简单的 http 命令行工具.与最优秀的 Unix 工具一样,在设计之时,cURL 是个小型程序,功能十分专一,而且是故意为之,仅用于访问 http 服务器.(在 Linux 中,可以 ...

最新文章

  1. 《Advanced PHP Programming》读书笔记
  2. Web前端遍历对象应该如何操作呢?
  3. 转载---SQL Server XML基础学习之5--XQuery(query)
  4. java用循环方式实现和计算机玩猜拳的程序
  5. java数据结构与算法_清华大学出版社-图书详情-《数据结构与算法分析(Java版)》...
  6. MYSQL性能优化详解(二)
  7. date 减去固定时长_javascript – 从Date对象减去日/月/年
  8. idea 15 license server
  9. python和java学哪个好-学python还是java python和java哪个好入门
  10. 算法笔记:二叉树的序列化和反序列化(剑指 Offer 37)
  11. [导入]CommunityServer 1.1 源码及汉化文件
  12. Linux 内存管理(一)——地址空间
  13. 计算机操作入门基础知识,电脑入门基本操作知识
  14. 用python做一个飞机大战(一)
  15. 代码封装的思想,竟然在中国古代就已经存在了
  16. 装满了自我提升的33个学习平台
  17. 山西大学 计算机科学,李德玉 - 山西大学 - 计算机与信息技术学院
  18. Python:使用PyAV提取视频关键帧
  19. HTML学习笔记——框架结构
  20. 高速PCB设计入门概念

热门文章

  1. phantomjs搭建输出js渲染后的html接口
  2. docker学习(一)在centos7上安装与启动docker
  3. Ajax异步方式实现登录与參数的校验
  4. webApp禁止用户保存图像
  5. druid报异常 “sql injection violation, part alway true condition not allow”的解决方案
  6. 详解 height 和 width 属性
  7. Android中的webview详细使用
  8. Python基础——1基础
  9. Java基础教程:IO流与文件基础
  10. ios9和xcode7的适配问题