为什么在python中向http cookiejar添加cookie如此困难?我总是以CookieError结束:尝试设置保留密钥';域';

为什么在python中向http cookiejar添加cookie如此困难?我总是以CookieError结束:尝试设置保留密钥';域';,python,http,cookies,cookiejar,Python,Http,Cookies,Cookiejar,我已经阅读了所有与本主题相关的问题,但没有一个是有用的和/或相关的 我正在使用playwright和Asyncio和aiohttp来自动化一些基于web的任务。该工作流程的一部分涉及获取和重新使用cookies。我使用剧作家的context.storage\u state()从存储中获取所有内容。它返回一个dict,存储中的所有内容如下: { "cookies": [ { 'name': 'cookie_name', 'value

我已经阅读了所有与本主题相关的问题,但没有一个是有用的和/或相关的

我正在使用playwright和Asyncio和aiohttp来自动化一些基于web的任务。该工作流程的一部分涉及获取和重新使用cookies。我使用剧作家的
context.storage\u state()
从存储中获取所有内容。它返回一个
dict
,存储中的所有内容如下:

{
  "cookies": [
    {
        'name': 'cookie_name', 
        'value': 'cookie_value', 
        'domain': '.website.com', 
        'path': '/', 
        'expires': 1234567890, 
        'httpOnly': False, 
        'secure': False, 
        'sameSite': 'None'
    },
    ...
  ],
  "origins": [
    {
      "origin": "https://www.website.com",
      "localStorage": [
        {
          "name": "name",
          "value": "value"
        },
        ...
      ]
    }
  ]
}

我使用
storage['cookies']
获取cookies,然后循环它们,试图将每个cookies添加到
aiohttp.CookieJar()
,我很确定它只是一个
http.CookieJar.CookieJar()
对象。每次我试着把这些单词中的一个作为饼干装入饼干罐时,我都会得到一个答案

CookieError:尝试设置保留密钥“域”

我已经看过RFC2109标准和源代码:

不管我怎么做,我都会出错

我试过:

jar = aiohttp.CookieJar() # basically http.cookiejar.CookieJar I think
storage = context.storage_state()

for cookie in storage['cookies']:
    jar.update_cookies(cookie)
我还尝试从cookie dict中删除所有“保留”键,尽管这是cookie的大部分数据。不管怎样,它都不会让我把真正的饼干装入饼干罐。我通读了HTTP cookie.py源代码和文档,但就我所知,其中没有任何内容可以解释我所做的工作的错误之处

有没有人能够在不通过会话的情况下将cookie加载到cookiejar对象中

for item in storage['cookies']:
    cookie = BaseCookie().load(str(item)) # not even sure why I tried this
    jar.update_cookies(cookie)
for item in storage['cookies']:
    cookie = BaseCookie().load(item)
    jar.update_cookies(cookie)
for item in storage['cookies']:
    cookie = SimpleCookie().load(item)
    jar.update_cookies(cookie)