码迷,mamicode.com
首页 > 其他好文 > 详细

requests中session的用法

时间:2019-10-20 19:45:42      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:row   style   account   用户名   错误   dmi   request   pass   缺省值   

正常情况下,我们想打开禅道的“组织”视图页面,是需要先在禅道的登录页面输入正确的用户名和密码点击登录,再切换到“组织”视图页面。

如果我们的python代码这样写的话,r1和r2的状态码都是200,但r2.text并不是我们想要的。这是因为,r1和r2请求相当于在2个不同的浏览器中,发出的两个请求,彼此是独立的,那么r2请求就相当于是在没有登录的情况下发出的请求。

import requests

paylod = {‘account‘:‘admin‘,
‘password‘:‘e10adc3949ba59abbe56e057f20f883e‘}
url01 = ‘http://localhost:9000/zentao/user-login.html‘
url02 = ‘http://localhost:9000/zentao/company-browse.html‘
r1 = requests.get(url01,params=paylod)
r2 = requests.post(url02)
print(r1.status_code)
print(r2.status_code)
print(r2.text)

那么如何解决这个问题呢
1、我们可以创建一个session对象来存储请求的缺省值,r2.text可以取到想要的值。

import requests

s=requests.session()
paylod = {‘account‘:‘admin‘,‘password‘:‘e10adc3949ba59abbe56e057f20f883e‘}
url01=‘http://localhost:9000/zentao/user-login-L3plbnRhby8=.html‘
url02=‘http://localhost:9000/zentao/user-create-0.html‘
r1=s.get(url01,params=paylod)
r2=s.post(url02,data=d)
print(r2.text)

2、可以直接加上auth认证,那么r2请求也可取到相应的值,而不需要登录。(用户名:admin,密码:123456)
import requests
from requests.auth import HTTPBasicAuth

url02 = ‘http://39.106.90.48:9000/zentao/company-browse.html‘
r2 = requests.post(url02,auth=HTTPBasicAuth(‘admin‘,‘123456‘))
print(r2.status_code)
print(r2.text)

ps:水平有限,亲测有效,如果有错误,或者理解不到位的欢迎留言指正。

requests中session的用法

标签:row   style   account   用户名   错误   dmi   request   pass   缺省值   

原文地址:https://www.cnblogs.com/fuqiuyang1/p/11708628.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!