为什么在python中向http cookiejar添加cookie如此困难?我总是以CookieError结束:尝试设置保留密钥';域';
我已经阅读了所有与本主题相关的问题,但没有一个是有用的和/或相关的 我正在使用playwright和Asyncio和aiohttp来自动化一些基于web的任务。该工作流程的一部分涉及获取和重新使用cookies。我使用剧作家的为什么在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
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)