美文网首页接口文档及接口测试学习
『居善地』接口测试 — 6.Httpbin介绍(请求调试工具)

『居善地』接口测试 — 6.Httpbin介绍(请求调试工具)

作者: 繁华似锦Fighting | 来源:发表于2021-01-03 19:29 被阅读0次

    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/,就会出现如下界面。

    页面中每个选项都可以点开,里边有对应的接口说明。

    常用接口列表:

    Endpoint Descirption
    /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服务就是干什么用的?

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

    相关文章

      网友评论

        本文标题:『居善地』接口测试 — 6.Httpbin介绍(请求调试工具)

        本文链接:https://www.haomeiwen.com/subject/fhlpoktx.html