项目是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回答
-
1、你把你这个同样的参数 复制到你的postman去看一下是不是也是。这个肯定是因为你身份标识没有验证通过
2、你把你身份标识的那个值 直接单独弄cookies去传递进去,不要放入headers里面试一试。你看你实际传递的时候的传递方式。然后模拟
042020-07-16
相似问题