python+requests 之常见错误码(203、403)分析

1、模拟登陆公司某系统,返回203错误码,并提示:please login first,是因为cookie不正确,刚开始使用如下代码获取cookie:

def getCookie(self):
        cookie = requests.cookies.RequestsCookieJar()
        cookie.set('cookie-name','cookie-value')
        self.session.cookies.update(cookie)
        dic_cookie = self.session.cookies.get_dict()
        print (cookie)
        return dic_cookie
        #return json.dumps(self.session.cookies.get_dict())

后发现返回值和录制公司项目的报文中cookie的格式不同:

故猜测,可能不同系统要求的cookie格式不尽相同,为保证代码稳定测试通过,最好还是按照被测系统的格式来模拟,故代码修改为如下:

    def getCookie(self):
        cookie = requests.cookies.RequestsCookieJar()
        cookie.set('cookie-name','cookie-value')
        self.session.cookies.update(cookie)
        dic_cookie = self.session.cookies.get_dict()
        cookie ="clientTimezoneId="+dic_cookie.get("clientTimezoneId")\
                +"; fwkappSkinType="+dic_cookie.get("fwkappSkinType")\
                +"; JSESSIONID="+dic_cookie.get("JSESSIONID")\
                +"; CLIENTID="+dic_cookie['CLIENTID']
        print (cookie)
        return cookie

 修改后,http请求返回码200

2、请求返回错误码403,按照本系统是因为header中需要有roarand随机数,故需要再发送请求前加上此信息:

headers["roarand"]=token.text
print(str(headers))
resp = session.delete(url, data=data, headers=headers, verify=False)

上述请求是忽略SSL证书的请求方式,后续继续研究如何在python中插入系统SSL证书

猜你喜欢

转载自blog.csdn.net/wdlnancy/article/details/87919114