项目是token验证的,但是在token未失效的情况下,一直无法成功

来源:14-4 项目实战之主流程中cookie方法

_静言_

2020-07-15

import requests
import mock


class RunRequest:

    def run_get(self, url, data, header, cookie=None):
        res = requests.get(url=url + '?' + data, headers=header, cookies=cookie, verify=False)
        return res.json()

    def run_post(self, url, data=None, header=None, cookie=None):
        res = requests.post(url=url, json=data, headers=header, cookies=cookie,
                            verify=False)  # 读取出来的data是字典,并不是json,所以这里需要装换为json
        return res.json()

    def run_request(self, method, url, data=None, headers=None, cookie=None):
        # return mock.Mock(data)
        res = None
        if method == 'GET':
            res = self.run_get(url=url, data=data, header=headers, cookie=cookie)
        if method == 'POST':
            res = self.run_post(url=url, data=data, header=headers, cookie=cookie)
        return res
run = RunRequest()
if __name__ == '__main__':
    method = 'POST'
    url = 'https://192.168.0.1/api/weChat/user/update'
    data = {
        "birthday": "1996-01",
        "city": "成都市",
        "emailNo": "163@163.com",
        "maritalStatus": "已婚",
        "phoneNo": "18683618823",
        "province": "四川省",
        "qqNo": "46413521",
        "region": "武侯区",
        "sex": "男",
        "userName": "123",
        "weChatNo": "VXnum",
        "workTime": "2018-06"
    }
    header = {"content-type": "application/json",
              "Content-Length": "334",
              "Connection": "keep-alive",
              "Host": "www.sczwdc.com",
              "Accept": "*/*",
              "User-Agent": "PostmanRuntime/7.26.1",
              "Accept-Encoding": "gzip, deflate, br",
              "Cache-Control": "no-cache",
              "token": "eyJhbGciOiJIUzI1NiJ9eyJ1aWQiOjMsInN1YiI6Il5haW1zI0AqQCQiLCJpc3MiOiJhaW1zIiwidHlwIjoiSldUIiwiZXhwIjoxNTk0ODEzMzI3LCJhbGciOiJIUzI1NiIsImlhdCI6MTU5NDc5ODkyNywianRpIjoiNmRkZjRmZmE1ODFjNDE4MmFjZDU4NGIwNWM5YTQ1ZjYifQ.27w4gYxePjpTTyl2LRKhaLOgENI1J0-Q5ppPBKgdpUw"}

    print(run.run_request(method, url, data, header))

上面是源码
抓包显示传值都正常,也和postman执行情况也对比了。没有其他异常的地方。但是就是postman成功返回了 修改成功,而脚本则提示未登录

{'code': '000009', 'msg': '请登陆后操作!', 'status': False, 'data': {}}

遇到token验证,这种情况怎么弄啊

写回答

1回答

Mushishi

2020-07-15

1、你把你这个同样的参数 复制到你的postman去看一下是不是也是。这个肯定是因为你身份标识没有验证通过

2、你把你身份标识的那个值 直接单独弄cookies去传递进去,不要放入headers里面试一试。你看你实际传递的时候的传递方式。然后模拟

0
4
_静言_
非常感谢!
2020-07-16
共4条回复

Python接口自动化测试框架实战

主流框架Unittest与接口测试结合,带你深入学习接口自动化框架的设计与开发

1509 学习 · 844 问题

查看课程