Python中如何使用aiohttp库禁用cookie

有没有大佬说一下,只知道可以忽略 cookie,怎么向 scrapy 一样禁用 cookie,还是说,你不添加 cookie 就是禁用 cookie 的意思?


Python中如何使用aiohttp库禁用cookie
2 回复

aiohttp.ClientSession 的时候,把 cookie_jar 参数设成 aiohttp.DummyCookieJar() 就能完全禁用cookie了。

import aiohttp
import asyncio

async def main():
    # 关键在这里:创建session时指定一个空的DummyCookieJar
    async with aiohttp.ClientSession(cookie_jar=aiohttp.DummyCookieJar()) as session:
        # 现在这个session不会存储或发送任何cookie
        async with session.get('https://httpbin.org/cookies/set/test/123') as resp:
            # 检查响应,但session不会保存这个cookie
            print("Response status:", resp.status)
            
        # 再次请求,不会携带之前的cookie
        async with session.get('https://httpbin.org/cookies') as resp:
            data = await resp.json()
            print("Cookies sent:", data.get('cookies', {}))  # 应该是空的

if __name__ == '__main__':
    asyncio.run(main())

DummyCookieJar 是个啥都不干的cookie容器,不存也不取cookie。如果你连这个参数都不传,aiohttp默认会用 aiohttp.CookieJar,那就会自动处理cookie了。

简单说,设个 DummyCookieJar 就完事了。


回到顶部