一、需要使用requests下的会话对象;
会话对象让你能够跨请求保持某些参数。它也会在同一个Session实例发出的所有请求之间保持cookie。
方法级别的参数不会被跨请求保持。
二、查看禅道源码,发现需要对密码、rand进行md5加密,且在登录时,需要传入变量verifyRand;下图可以确定rand==verifyRand;
三、提取rand;通过fiddler抓包,发现登录页面有rand值,但通过接口请求的rand值的长度不固定,目前发现长度有9位、10位的;
所以判断提取的长度为10时,则不再请求登录接口;
四、md5加密密码、rand
import hashlib
#方式一
hash=hashlib.md5()
hash.update('P@ssw0rd'.encode('utf-8'))#不添加.encode('utf-8')会报错
f=hash.hexdigest()+str(1268292672)#web登录,fiddler抓包到的rand值
#print(f)
#方式二
hash2=hashlib.md5(f.encode('utf-8'))
<