首页 > 其他分享 >接口测试 — Httpbin介绍(请求调试工具)

接口测试 — Httpbin介绍(请求调试工具)

时间:2022-10-06 20:34:20浏览次数:88  
标签:httpbin 请求 http 接口 Httpbin https org 调试

1、Httpbin介绍

Httpbin是一个使用Python + Flask编写的HTTP Request & Response Service,该服务主要用于测试 HTTP库,你可以向他发送请求,然后他会按照指定的规则将你的请求返回(查看你所发送请求中的信息)。
Httpbin支持HTTP/HTTPS请求,支持所有的HTTP动词,能测试HTTP请求和响应的各种信息,比如 cookie、ip、headers 和登录验证等。能模拟302跳转乃至302跳转的次数,还可以返回一个HTML文件或一个XML文件或一个图片文件(还支持指定返回图片的格式)。
Httpbin官方网站:http://httpbin.org/
Httpbin开源地址:https://github.com/postmanlabs/httpbin

2、Httpbin部署

Httpbin是部署在国外的,考虑到有时无法访问的情况,也是可以自己在本地搭建部署,非常简单。
这样自己部署Httpbin的方式,可以不用和外部的服务器交互就可以进行Http业务调试。
(1)通过pip工具安装
需要分别安装Httpbinguicornguicorn是一个wsgi http服务器,用来启动Httpbin服务。

# 进入cmd命令行,执行如下命令:
# 安装Httpbin与guicorn
pip install gunicorn
pip install httpbin

# 执行如下命令启动服务:
gunicorn httpbin:app  

注意:这种方式在Windows系统下不能使用,报错ImportError: No module named 'fcntl'。(网上查的原因是fcntl模块在Windows环境下不被识别)
(2)本地安装Httpbin

# 从github上克隆Httpbin到本地
# 会直接克隆到cmd命令的当前目录下,如C:\Users\L>下执行的命令。
git clone https://github.com/Runscope/httpbin.git

# 安装httpbin命令
pip install -e httpbin

# 启动httpbin服务命令
python -m httpbin.core [--port=PORT] [--host=HOST]
# 例如:访问方位为:http://127.0.0.1:9999/get
python -m httpbin.core --port=9999

亲测:在Windows系统下,这种方式能在本地正常启动Httpbin服务。

3、Httpbin访问方式

Httpbin的使用方法非常简单,你只需要把请求的地址修改为httpbin.org即可。
比如:GET请求:http://httpbin.org/get
如果使用本地部署的Httpbin服务,访问:http://127.0.0.1:[自己设置的端口号]
(请看上边第2点)

4、Httpbin常用调试接口

访问:http://httpbin.org/#/或者本地Httpbin`服务http://127.0.0.1:9999/,就会出现如下界面。
页面中每个选项都可以点开,里边有对应的接口说明。

常用接口列表:

EndpointDescirption
/ip 返回请求者的IP地址。
/user-agent 返回传入请求的User-Agent参数。
/headers 返回传入请求的请求头参数。
/get GET请求的提交参数。
/post POST请求的提交参数。
/patch PATCH请求的提交参数。
/put PUT请求的提交参数。
/delete DELETE请求的提交参数。

举例:
(1)返回headers信息

# 调用接口:https://httpbin.org/headers
{
  "headers": {
    "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8", 
    "Accept-Encoding": "gzip, deflate, br", 
    "Accept-Language": "zh-CN,zh;q=0.9", 
    "Host": "httpbin.org", 
    "Upgrade-Insecure-Requests": "1", 
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.108 Safari/537.36", 
    "X-Amzn-Trace-Id": "Root=1-5ff1a4f7-69a84fca0693b09e28d214b0"
  }
}

(2)返回你使用的访问此链接的IP地址

# 调用接口:https://httpbin.org/ip
{
  "origin": "106.35.9.12"
}

(3)返回GET请求的详细信息

# 调用接口:https://httpbin.org/get?department=1
{
  "args": {
    "department": "1"
  }, 
  "headers": {
    "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8", 
    "Accept-Encoding": "gzip, deflate, br", 
    "Accept-Language": "zh-CN,zh;q=0.9", 
    "Host": "httpbin.org", 
    "Upgrade-Insecure-Requests": "1", 
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3775.400 QQBrowser/10.6.4209.400", 
    "X-Amzn-Trace-Id": "Root=1-5ff1a59b-4e514a40023721d276ae07eb"
  }, 
  "origin": "106.35.9.12", 
  "url": "https://httpbin.org/get?department=1"
}


说明:如果需要看Httpbin服务POST如何使用,请看requests库POST请求的学习文章。

5、总结:

Httpbin服务就是干什么用的?
就是用于查看我发出去的请求到底是什么样子的。你需要查看请求中的那部分信息,就调用什么样的接口即可。

重点:配套学习资料和视频教学

那么在这里我也精心准备了上述大纲的详细资料在下方链接如下

 

免费领取更多资料:http://47.107.116.139/zhuoran/mf.php

https://zhuanlan.zhihu.com/p/521674857

 

标签:httpbin,请求,http,接口,Httpbin,https,org,调试
From: https://www.cnblogs.com/wzihan/p/16758396.html

相关文章

  • [答疑]A类需要一个接口,B类提供这个接口,在EA中如何画
    ​​软件方法(下)分析和设计第8章连载[20210518更新]>>​​乡情(38***38)10:31:01请教高手:EA中,当某个类需要一个接口,而另一个类提供这个接口时,如何画?比如:A类需要一个接口,B类......
  • 接口
    1为什么有接口1.定义接口:有一系列的方法(规范)publicinterfaceUsbInterface{//接口//规定接口的相关方法,老师规定的.即规范...publicvoidstart();......
  • MT4 serverAPI开发接口(头文件)
    如有疑问请联系v:yunkeji5868同managerAPI接口一样,下面是serverAPI提供的接口,可以保存为.h文件直接导入到自己工程中使用。具体如果使用可看我的其他文章。 //+-------......
  • Java中的抽象类与接口介绍
    在Java中什么时候应该选择抽象类而不是接口?接受挑战吧!了解这些Java语言元素之间的区别以及如何在你的程序中使用它们。在Java代码中,甚至在Java开发工具包(JDK)本身中,都有大量......
  • SAP UI5 ODataModel.createEntry 单步调试
    方法入口:initOData:function(){functionmySuccessHandler(){debugger;}functionmyErrorHandler(){debugger;......
  • 5-互评-OO之接口-DAO模式代码阅读及应用
    DAO模式是接口的一个典型应用。阅读附件中的参考代码,并回答以下问题:StudenDaoListImpl.java与StudentDaoArrayImpl.java有何不同?StudenDaoListImpl.java采用List存......
  • 超详细Java基础-接口
    茫茫人海千千万万,感谢这一秒你看到这里。希望我的文章能对你的有所帮助!共勉!愿你在未来的日子,保持热爱,奔赴山海!Java基础知识(接口)接口Java接口是一系列方法的声明,是......
  • 16_Java中接口与类和抽象类的关系
    Java中接口的与类和抽象类的关系抽象类:抽象对象,接口:抽象方法,两者配合,一个负责将一类对象抽象化,一个负责将特殊方法,后加特殊方法抽象化,然后再用一个具体类进行继承与......
  • SpringCloud Gateway API接口加解密
    接口范围所有GET请求白名单除外body体是application_json和application_json_utf8的POST请求白名单除外POSTurl传参也支持白名单除外启用禁用/版本后端提......
  • MIT6.S081-第一章操作系统接口
    第一章操作系统接口操作系统这个词对大家来说肯定都不陌生,Windows、Linux、macOS以及iOS、Android…这些操作系统其实每天都和我们进行交互,它们在我们每天使用的手机、电......