cookie 和 session
1、cookie
通过在客户端记录的信息确定用户身份。
http是一种无连接协议,客户端和服务端交互仅限于请求/响应过程,结束后断开,下一次请求时,服务端会认为是一个新的客户端。
为了维护连接,让服务端知道这是前一个用户发起的请求,必须在一个地方保存客户端信息。
2、session
session,中文称为会话,通过在服务端记录的信息确定用户身份,这个 session 指的就是一个会话。
其本义是指有始有终的一些列动作、消息。
例如打电话时,从拿起电话拨号到挂断之间的一系列过程,就可以称之为一个 session。
3、好处
这样做的好处就是,用户只需要输入一次账号密码,之后再访问网页时,只需要 headers 信息利用 cookie 包含 session_id,后台就可以根据 session_id 来判断用户是否登录。
4、代码示例
import requests
url = 'https://kyfw.12306.cn/otn/leftTicket/query?leftTicketDTO.train_date=2024-10-17&leftTicketDTO.from_station=BJP&leftTicketDTO.to_station=SHH&purpose_codes=ADULT'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36',
'cookie': '_uab_collina=172880592022560712805691; JSESSIONID=2BA6A3A24B6271AA97DD6A46B8EF437E; tk=DYzBUxRQTLtyeOk98rEybDeXARpmYQ57x3M2Iw_-rQE4eafas; BIGipServerotn=2095579402.50210.0000; BIGipServerpassport=9211563452.50215.0000; guidesStatus=off; highContrastMode=defaltMode; cursorStatus=off; route=495c805987d0f5c8c84b14f60212447d; uKey=8e30273e95b5faffad65e950c957c09a8de3956d1ce2f57f8b1529c19dba9fb6; _jc_save_fromStation=%u5317%u4EAC%2CBJP; _jc_save_toStation=%u4E0A%u6D77%2CSHH; _jc_save_toDate=2024-10-13; _jc_save_wfdc_flag=dc; _jc_save_fromDate=2024-10-17'
}
session = requests.session()
res = session.get(url, headers=headers)
data = res.json()
print(data)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!