Python Requests使用Cookie的几种方式
本文主要给大家介绍了关于Python Requests使用Cookie的几种方式,Python中的requests库可以使用cookie来维持会话状态,实现登录等操作,需要的朋友可以参考下
一、通过headers参数使用
通过headers参数使用cookie,key为Cookie,值为使用;拼接的 cookie_name=cookie_value 字符串
1 2 3 4 5 6 7 8 9 10 |
|
输出如下:
cka=111a;ckb=111b
cka=111a;ckb=111b
二、通过cookies参数使用
通过cookies参数使用cookie,cookies 值以字典形式提供,key为cookie_name,value为cookie_value
1 2 3 4 5 6 7 8 9 10 |
|
输出:
cka=222a; ckb=222b
cka=222a; ckb=222b
注意:同时通过headers,cookies 参数传递Cookie时,只有headers传递的Cookie有效。
三、通过Session会话使用
通过Session会话管理Cookie,同一会话的多个请求可共享Cookie;
在Session中添加Cookie又有多种方式
方式0:自动设置
在会话过程中,如果有接口响应头中有 set-cookie,则将自动添加到会话的Cookie中
1 2 3 4 5 6 7 8 9 10 |
|
输出:
会话初始cookie: {}
响应头中set-cookie: sails.sid=s%3ALo1-iQfueg8z1DhR_SX3KxwWA85cYN65.asZ1elFlT9g54uj%2FHkHpaZFkk0rBaCFDtRrA9anWzY4; Path=/; HttpOnly
会话现有cookie: {‘sails.sid’: ‘s%3ALo1-iQfueg8z1DhR_SX3KxwWA85cYN65.asZ1elFlT9g54uj%2FHkHpaZFkk0rBaCFDtRrA9anWzY4’}
方式1:通过key设置
直接通过key设置cookie,但不支持设置cookie的 path、domain 等值
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
输出:
会话初始cookie: {}
本次请求使用的cookie: cka=111a; ckb=111b
会话现有cookie: {‘cka’: ‘111a’, ‘ckb’: ‘111b’, ‘sails.sid’: ‘s%3AxtcEChogQfCYrRm9HDwAOFa4VlQQDsCZ.OR1TBpmuhX%2F2qI7mpTE0NdChrphD5AUcvcRqUF2y6NU’}
方式2:通过set 方法设置
通过set方法设置cookie,且支持设置path、domain等值
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
输出:
会话初始cookie: {}
本次请求使用的cookie: ck2=222
会话现有cookie:, ]>
注意:<Cookie ck2=222 for postman-echo.com/>
可以看出 设置的 path、domain 成功了
方式3:通过 add_dict_to_cookiejar 方法设置
通过 requests.utils 工具包里的 add_dict_to_cookiejar 方法设置cookie,但不支持设置 path、domain 等值
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
输出:
会话初始cookie: {}
本次请求使用的cookie: ck3a=333a; ck3b=333b
会话现有cookie: {‘ck3a’: ‘333a’, ‘ck3b’: ‘333b’, ‘sails.sid’: ‘s%3AFY_7nq-hA_v9BxPaft4BHgRNiZOmDZ1S.N64IaIZ2Dd2fnfDMawbXdmJl0HfUVN7hhhGrdaFE4Bs’}
方式4:通过 RequestsCookieJar() 对象设置
创建一个空 RequestsCookieJar()对象,然后使用对象的set方法赋值,然后update更新到当前会话cookie,支持设置 path、domain等值
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
输出:
会话初始cookie: {}
本次请求使用的cookie: ck4a=444a
会话现有cookie: {‘ck4a’: ‘444a’, ‘sails.sid’: ‘s%3ANU88BiSVQAFpVUtrvSrii14jOhO_q981.MfJkY7Aw93R0Rc4V6JGi7SXPOneNJTr3p%2FNVJ9yp4Qg’}
方式5:通过 cookiejar_from_dict 方法设置
通过 requests.utils 工具包里的 cookiejar_from_dict 方法将字典格式的cookie转换为cookiejar对象,然后update更新到当前会话,不支持设置 path、domain 等值
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
输出:
会话初始cookie: {}
本次请求使用的cookie: ck5a=555a; ck5b=555b
会话现有cookie: {‘ck5a’: ‘555a’, ‘ck5b’: ‘555b’, ‘sails.sid’: ‘s%3AWHa__ab1vTZVjGdlIpDgDFfntSYNqS2Y.y%2Fq4YhPv49C5jwNiYdVWrFsQm9B0Y202rI5xRrqlwsk’}
总结
到此这篇关于Python Requests使用Cookie的几种方式的文章就介绍到这了,希望可以帮到你
转自:微点阅读 https://www.weidianyuedu.com
还没有评论,来说两句吧...