python requests session post_Python post中session和auth 的三种方法

#/bin/python

#-*- coding: utf-8 -*-import requestsfromurllib import parseclass HarborAapi(object):

def __init__(self,url,username,passwd):'''@Author: xiajinqi

:param url:

:param username:

:param passwd:''' print("构造函数")

self.url=url

self.username=username

self.passwd=passwd

self.session_id_key= "sid"def login_get_session(self):

print("获取session")

header={'User-Agent':'User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36','Content-Type': 'application/x-www-form-urlencoded'}

req_url='%s/c/login'%(self.url)

req_dict={'principal': self.username,'password': self.passwd

}

req_data=parse.urlencode(req_dict)try:

s=requests.Session() ###通过session方式请求。会自动保留cookie信息

res= s.post(req_url, headers=header, data=req_data)

print(res.text)if res.status_code==200 : ### 200位数字不可加" self.session=s

# self.session_id= res.cookies.get("sid")

print(s)returns #####s中存在cookie植

except :

raise Exception("login error,please check your account info!")

def get_projects(self):

print("获取工程")

header={'User-Agent': 'User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36','Content-Type': 'application/json'}

req_url = '%s/api/projects?page=1&page_size=15' %(self.url)

req_dict={'page': '1','page_size': '15'}

r= self.session.get(req_url)

print(r.text)

print(r.status_code)

### cookies={self.session_id_key: self.session_id}

def logout(self):

r=requests.get('%s/c/logout' % (self.url),cookies={'sid': self.session_id})

print(r.text)

harbor=HarborAapi('https:/******','test','1234')

harbor.login_get_session()

harbor.get_projects()

### 返回session对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值