python模拟登陆中,是保存服务器所返回的cookie值

requests库中获取cookies的方法为

res=requests.get(url,headers=header)

cookie=res.cookies

获取到cookie后

requests.get(url,headers=header,cookies=cookie)

requests 还有有一种用法是,通过一个 requests.Session 对象,来完成请求在上下文传递过程中的 Cookie 处理。
所以代码可以修改如下:

1
2
3
4
5
6
7
8
9
10
11
#coding=utf‐8
import json
import requests
session = requests.session()
url_login, url_test = "http://192.168.0.162/login", "http://192.168.0.162/getinfo"
login_data = {'user': 'abc', 'psw': 123}
session.post(url_login, data=login_data)
test_data = {'num': 'abc123', "name": u"张三"}
r = session.get(url_test, data=test_data)
res_value = r.json()
d1 = json.dumps(res_value, sort_keys=True, ensure_ascii=False, indent=4)

手动设置cookies
1
2
res=requests.session()
requests.utils.add_dict_to_cookiejar(res.cookies,cookies)