前言
发送请求时经常需要利用请求头中的cookie字段来做用户访问状态的保持,关于的cookie的处理常见有下面一些处理方式,这里做个小小的总结
1.直接在请求中传递cookies参数
import requests
host = 'http://119.91.144.93:82'
api = r'/ecshop/user.php'
url = host + api
data = {'username':'wangke','password':'123456','act':'act_login','back_act':'./index.php','submit':None}
res = requests.request('POST',url=url,data=data) #登录
cookies = res.cookies #获取登录cookies
data1 = {'msg_type':0,'msg_title':'aaaaaaa','msg_content':'1111111111','act':'act_add_message'}
r = requests.request('POST',url=url,data=data1,cookies=cookies) #发表留言,直接将获取的登录cookies添加到请求中
结果:发表留言成功
2.将获取的登录cookie添加到headers中
import requests
host = 'http://119.91.144.93:82'
api = r'/ecshop/user.php'
url = host + api
data = {'username':'wangke','password':'123456','act':'act_login','back_act':'./index.php','submit':None}
res = requests.request('POST',url=url,data=data) #登录
cookies = res.cookies #获取登录cookies
cookies_str = '' #将获取的登录cookies拼接为字符串
for k,v in cookies.items():
cookies_str += f'{k}={v};' #key=value;的方式拼接
headers = {'cookie':cookies_str} #组装headers
data1 = {'msg_type':0,'msg_title':'bbbbb','msg_content':'22222','act':'act_add_message'}
r = requests.request('POST',url=url,data=data1,headers=headers) #发送留言请求
结果:发表留言成功
现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:110685036
3.通过RequestsCookieJar构造cookies
import requests
host = 'http://119.91.144.93:82'
api = r'/ecshop/user.php'
url = host + api
data = {'username':'wangke','password':'123456','act':'act_login','back_act':'./index.php','submit':None}
res = requests.request('POST',url=url,data=data) #登录
cookies = res.cookies #获取登录cookies
jar = requests.cookies.RequestsCookieJar() #创建RequestsCookieJar对象
for k,v in cookies.items():
jar.set(k,v) #通过RequestsCookieJar对象构造cookies
data1 = {'msg_type':0,'msg_title':'cccccc','msg_content':'33333','act':'act_add_message'}
r = requests.request('POST',url=url,data=data1,cookies=jar) #发送留言请求
结果:发表留言成功
4.通过session会话处理
import requests
host = 'http://119.91.144.93:82'
api = r'/ecshop/user.php'
url = host + api
s = requests.session() #创建会话s
data = {'username':'wangke','password':'123456','act':'act_login','back_act':'./index.php','submit':None}
res = s.request('POST',url=url,data=data) #通过会话发送登录请求
data1 = {'msg_type':0,'msg_title':'dddddd','msg_content':'44444','act':'act_add_message'}
r = s.request('POST',url=url,data=data1) #通过会话发送留言请求,不需要处理cookie,自动关联
结果:发表留言成功
敲字不易,如果此文章对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。