requests库安装
pip install requests
requests库查验
pip show requests/pip list
cookie+session认证方式
例子:获取验证码+商城登录+订单查询(涉及到cookie)
# 方法一:从获取验证码请求中提取cookie,然后携带到登录+订单查询请求
import requests ''' resp = requests.请求方法(url = "url地址", params = {k:v}, headers = {k:v},data = {k:v}, json = {k:v}, cookies = "cookie数据") params:查询参数 headers:请求头 data:表单格式的请求体 json:json格式的请求体 返回的resp是响应结果 ''' # 发送 获取验证码的请求 resp_v = requests.get(url='...') # 从获取验证码的响应结果中提取cookie my_cookie = resp_v.cookies # 发送登录请求 resp = requests.post(url='', data={"username": "13000000000", "password": "123456", "verify_code": "8888"}, cookies=my_cookie) # 查询响应体(json格式,若返回是json格式) print(resp.json()) # 登录成功 # 发送订单查询请求 resp_o = requests.get(url="...", cookies=my_cookie) # 查询响应结果(txt格式,若返回是html) print(resp_o.text) # 我的订单页面的html
# 方法二:创建session对象,直接请求验证码+登录+订单查询,不用携带cookie
import requests ''' resp = requests.请求方法(url = "url地址", params = {k:v}, headers = {k:v},data = {k:v}, json = {k:v}, cookies = "cookie数据") params:查询参数 headers:请求头 data:表单格式的请求体 json:json格式的请求体 返回的resp是响应结果 ''' # 实例化一个session对象 session = requests.Session() # 发送 获取验证码的请求 resp_v = session.get(url='...') # 发送登录请求 resp = session.post(url='', data={"username": "13000000000", "password": "123456", "verify_code": "8888"}) # 查询响应体(json格式,若返回是json格式) print(resp.json()) # 登录成功 # 发送订单查询请求 resp_o = session.get(url="...") # 查询响应结果(txt格式,若返回是html) print(resp_o.text) # 我的订单页面的html
cookie和session的区别
1、数据存储位置:cookie存储在浏览器中;session存储在服务器中
2、安全性:cookie中的数据可以随意获取,没有安全性;session的数据多为加密存储,安全较高
3、数据类型:cookie支持的数据类型受浏览器限制较少;session直接使用服务器存储,支持所有数据类型
4、大小:cookie大小默认4k;session大小为服务器存储空间大小