1. Cookie处理
• 发送请求时携带Cookie
• 当进行接口测试时,如果接口需要Cookie来验证身份或者维持会话状态,可以直接在requests库的请求中设置cookies参数。例如:
import requests
cookies = {'name': 'value'}
response = requests.get('https://example.com/api', cookies = cookies)
• 从响应中获取Cookie
• 如果服务器在响应中设置了Cookie,requests库会自动处理并存储在response.cookies对象中。可以查看和利用这些Cookie进行后续请求。例如:
response = requests.get('https://example.com/login')
print(response.cookies)
2. Session处理
• 创建Session对象
• 使用requests库的Session类可以方便地处理会话相关操作。创建一个Session对象后,在这个会话内的多次请求可以自动处理Cookie等会话相关的事情。例如:
session = requests.Session()
• 使用Session发送请求
• 在Session对象上调用请求方法(如get、post等),它会自动在请求之间维持会话状态(包括Cookie管理)。
session.get('https://example.com/login')
response = session.get('https://example.com/api')
• Session的其他优势
• 除了自动处理Cookie,Session对象还可以设置默认的请求头、代理等,方便统一管理接口请求的相关设置。例如:
session.headers.update({'User - Agent': 'Mozilla/5.0'})