zoukankan      html  css  js  c++  java
  • WebAPI接口的自动化测试2

    接口认证:

           服务器的接口需要通过一个验证机制,这个验证机制可以是session或token

           以session为例。

                session存储与服务器,通常用户登录后,服务器会把配套的sessionid发送给客户端

                客户端在下次请求服务器时会带上这个sessionid,相当于拿了入场券

                服务器会验证这个入场券是否有效

                验证通过后才会允许客户端去访问对应的接口内容

                之后客户端每发送一次请求都要带上sessionid

                同样服务器每次都会验证其有效性

           通常http协议中,sessionid是放在cookies这个请求头里面

    如何获取sessionid:两种方法

           ① 通过登录接口获取Set-Cookie请求头

                resp = requests.post(url, data=payload)     # 首先获取到响应对象resp

                cookie = resp.headers['Set-Cookie']      # 然后获取到请求头中Set-Cookie的值

                sessionid = cookie.split(';')[0].split('=')[1]     # 最后用字符串分割法获取sessionid

           ② 通过登录接口返回的response对象直接获取

                resp = requests.post(url, data=payload)

                cookies = resp.cookies    # 直接获取到cookie信息

                sessionid = cookies['sessionid']   # 然后从cookie中取到sessionid的值

    如何添加cookie方法:三种方法

           ① 直接添加到cookie请求头里

                h1 = {'Cookie': 'sessionid=imk4esz7jep90gcbt3oo790ex3srt5dc'}

                requests.get(url, headers=h1, params=payload)

           ② 直接告诉requests,让它帮我添加添加

               cookie = {'Cookie': 'sessionid=imk4esz7jep90gcbt3oo790ex3srt5dc'}

               requests.get(url, cookies=cookie, params=payload)

           ③ 登录接口包含了cookies信息,可以直接获取

               payload = {'username': 'xxxx', 'password': 'xxxx'}

               resp1 = requests.post('http://localhost/api/mgr/loginReq', data=payload)   # 获取到响应对象resp1 里面包含了cookies信息

               resp2 = requests.get('http://localhost/api/mgr/sq_mgr/', cookies=resp1.cookies, params=payload)   # 在做另一个接口请求时,直接获取登录接口中的cookies信息

  • 相关阅读:
    使用sshfs挂载远程服务器目录
    yum install --downloadonly 下载依赖包到本地 但不安装
    CentOS 7安装SSHFS 实现远程主机目录 挂载为本地目录
    CentOS7下FTP的安装与配置
    标签传播算法(Label Propagation Algorithm, LPA)初探
    线性模型(linear model)基本定义及参数求解数学本质、损失函数的选择与评估数学原理、及其基于线性模型衍生的其他机器学习模型相关原理讨论
    贝叶斯A/B测试
    谨慎选择我们的先验
    关于年会抢红包游戏的一个思考
    WMI攻击技术研究
  • 原文地址:https://www.cnblogs.com/peipei-Study/p/12024053.html
Copyright © 2011-2022 走看看