问题标签 [cookiejar]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
79 浏览

python - 写入 NamedTemporaryFile 静默失败;将 Curl cookie jar 转换为 Requests cookie

我正在尝试获取 Curl 吐出的 Netscape HTTP Cookie 文件并将其转换为 Requests 库可以使用的 Cookiejar。我netscapeCookieString在我的 Python 脚本中有一个变量,它看起来像:

由于我不想自己解析 cookie 文件,我想使用cookielib. 可悲的是,这意味着我必须写入磁盘,因为cookielib.MozillaCookieJar()不会将字符串作为输入:它必须接受文件。

所以我正在使用NamedTemporaryFile(无法开始SpooledTemporaryFile工作;如果可能的话,再次想在内存中完成所有这些工作)。

但这是踢球者,这不起作用!

print tempCookieFile.read()打印一个空行。

因此,pprint.pprint(cookieJar)打印一个空的 cookie jar。

我很容易在我的 Mac 上重现这个:

我怎样才能真正写到一个NamedTemporaryFile

0 投票
0 回答
203 浏览

python - 将 curl 转换为 python 请求,包括 cookie

一些背景细节:

我们有一个内部站点,它具有带 2FA 的 SSO,并且还需要客户端证书。它有一个提交工作的表单。我正在尝试通过从 CLI 运行该过程来自动化该过程。到目前为止,我已经能够使用 curl 提交一份工作。为了让它工作,我需要从我的浏览器会话中提取 cookie。所以下面的 curl 命令按预期运行

curl -b cookies.txt -k --cert cert --key key -F 'field=value' url

我现在尝试将其转换为 Python 请求调用。但是,它似乎没有得到 cookie。我可以从进入 SSO 登录页面的脚本输出中看到这一点。这是我到目前为止的脚本

据我所知,我已经匹配了所有 curl 选项。但如前所述,它似乎忽略了 cookie,并尝试运行 SSO。知道如何让它运行吗?如果没有其他方法,我将不得不通过子进程运行 curl。但我宁愿让它在 Python 请求中运行。

非常感谢任何帮助/提示。

0 投票
0 回答
156 浏览

python - 为什么在 python 中向 http cookiejar 添加 cookie 如此困难?我总是以 CookieError: Attempt to set a reserved key 'domain' 结束

我已经阅读了我能找到的与该主题相关的所有问题,但没有一个是有帮助和/或相关的。

我正在使用带有 Asyncio 和 aiohttp 的 playwright 来自动化一些基于 Web 的任务。该工作流程的一部分涉及获取和重用 cookie。我使用剧作家context.storage_state()从存储中获取所有内容。它返回 adict存储中的所有内容,如下所示:

我使用 cookie 抓取storage['cookies']它们,然后遍历它们,尝试将每个添加到 中aiohttp.CookieJar(),我很确定它只是一个http.cookiejar.CookieJar()对象。每次我尝试将其中一个字典作为 cookie 加载到 cookie 罐中时,我都会得到一个

CookieError: Attempt to set a reserved key 'domain'

我查看了 RFC2109 标准和源代码:https ://github.com/python/cpython/blob/3.9/Lib/http/cookies.py

无论我尝试什么,我都会遇到错误。

我努力了:

我还尝试从 cookie 字典中删除所有“保留”键,即使这是 cookie 数据的大部分。无论如何,它都不会让我将实际的 cookie 加载到 cookie 罐中。我通读了 HTTP cookie.py 源代码和文档,据我所知,其中没有任何内容可以解释我正在做的事情有什么问题。

任何人都能够在不通过会话的情况下将 cookie 加载到 cookie jar 对象中吗?

0 投票
1 回答
255 浏览

python - requests cookiejar - 从字典列表中发送多个 cookie

我希望有人可以帮助我从字典列表中创建一个包含多个 cookie 的 cookie jar。这是在python3中。

我尝试了几种不同的方法,但它们要么覆盖以前的 cookie,要么不接受非标准的 cookie 属性(例如 httpOnly)

cookie 从 Flaresolverr (我相信它与 selenium 的输出相同)作为列表中的多个字典返回,例如:

因此,如果我尝试将它们全部添加到 cookie 罐中,您会看到“ __cfduid”是罐中唯一的 cookie:

我也尝试过jar = requests.cookies.RequestsCookieJar()jar.set(xxxx)但它不喜欢非标准的 cookie 属性(例如 httpOnly)

我不能r= requests.get从 r.cookies 中获取 cookie,因为 cookie 在 requests.text(或 requests.json)中作为 json 返回,而不是作为会话本身的一部分。

我已经做了很多搜索,但找不到任何有用的东西 - 任何帮助将不胜感激,谢谢!

0 投票
1 回答
249 浏览

python - aiohttp 中的 Python HTTP cookie jar 实现

我正在尝试从下面的一段代码中实现逻辑,该代码使用 aiohttp 向谷歌搜索发出请求,我的解决方案似乎是等效的,但由于某种原因没有按需要设置 cookie。有什么帮助吗?

我的解决方案:

0 投票
1 回答
176 浏览

javascript - NodeJS + Got - 共享会话 Cookie

我需要调用两个不同的 API:第一个用于登录,第二个用于提取数据。

第一次登录存储必须在第二次请求中使用的 Cookie。

在PHP中我已经实现了这个过程如下

NodeJS 中使用 GOT 库或类似方法的方式是什么?我尝试了很多建议但没有成功。这是我不工作的解决方案

谢谢!

0 投票
0 回答
126 浏览

json - 将 cookie 从 Go Rod(无头浏览器)传递给请求,Colly cookiejar

我正在尝试将 cookie 从 golang 中的无头浏览器传递到请求包 cookiejar。我需要使用无头浏览器获取一些 JS 生成的 cookie,然后传递给请求模块。

我目前有这个将无头浏览器 cookie 导出到 JSON 文件,但我不确定如何将它们动态添加到 cookie jar 以继续使用 requests 模块执行任务。

data 变量以下列格式返回 cookie:

0 投票
0 回答
50 浏览

android - 通过 CookieManager 设置过期日期 cookie 但 webview 不应用它

我有个问题。我正在发送从 url 获取 cookie 的请求。这个网址有返回图片的链接。但是 cookie 会返回过期日期时间,以便在一段时间内不显示图像。我将此 cookie 应用到 CookieManager 并且在我在 webview 上加载此 url 之后,但 webview 一直显示此图像。

创建 OkhtpClient 并缓存 CookieJar

Okhttpclient 的主要请求和 webview 的响应设置 loadurl 之后。

我已经检查过了,cookie 的有效期是正确的。CookieManager return expires=Mon, 31 Jan 2023 23:06:37 GMT 但每次都会显示图像。我做错了什么?.getCookies 返回正确的过期日期,并且 cookieManager 在 loadurl 之前有这个日期。

我在 postDelayed 中调用的所有代码