如何从 Chrome 复制 cookie?

Posted

技术标签:

【中文标题】如何从 Chrome 复制 cookie?【英文标题】:How do I copy cookies from Chrome? 【发布时间】:2014-03-22 01:35:03 【问题描述】:

我正在使用 bash 发布到需要我先登录的网站。所以我需要用登录cookie发送请求。所以我尝试登录并保留 cookie,但它不起作用,因为该站点使用 javascript 以一种非常奇怪的方式对密码进行哈希处理,所以我将只从 Chrome 中获取该站点的登录 cookie。如何从 Chrome 中获取 cookie 并将其格式化为 Curl?

我正在尝试这样做:

curl --request POST -d "a=X&b=Y" -b "what goes here?" "site.com/a.php"

【问题讨论】:

【参考方案1】:
    按 F12 打开开发者控制台(Mac:Cmd+Opt+J) 查看“网络”选项卡。 在网站上做任何你想做的事情来触发你感兴趣的动作 右键点击相关请求,选择“复制为 cURL”

这将为您提供触发操作的 curl 命令,并完全填充 cookie 和所有内容。当然,您也可以复制标志作为新 curl 命令的基础。

【讨论】:

谢谢,这正是我所需要的 不复制 chrome 44 中的 cookie 我也有同样的问题。正在复制 Cookie,我使用的是 Chrome 45。我通过下面的@user2537361 答案手动复制它们。 如果请求处于挂起状态并且您将其复制为 cURL,它不会复制 cookie。在请求以某种状态完成后,您可以将其复制为带有 cookie 的 cURL。我认为这是因为服务器可能会告诉浏览器删除 cookie,如果你在完成之前复制它,你可能有旧的 cookie。 Chrome 72.0.3626.119 似乎也没有复制 cookie【参考方案2】:

在 Chrome 中:

打开 Web 开发者工具(查看 -> 开发者 -> 开发者工具) 打开应用程序选项卡(在旧版本上,资源) 打开 Cookie 树 找到您感兴趣的 cookie。

在终端中

--cookie "cookiename=cookievalue" 添加到您的 curl 请求中。

【讨论】:

可以通过'name1=value1;指定多个; name2=value2'。 我需要三次点击 cookie 才能选择 不需要。右键单击 Network > Header Options > Cookies 下的请求。并再次复制卷曲。【参考方案3】:

在 Chrome/Chromium 中有一种更简单的方法。 开源的 Chrome 扩展 cookies.txt 将 cookie 数据导出到 cookies.txt 文件中,并生成可选的现成 wget 命令。

*我与扩展无关,它真的很好用。

【讨论】:

链接已损坏。该扩展程序似乎不再存在。 确实,修复了链接 这个链接又坏了?我在本地安装了这个扩展,它很棒,我在网上商店中找不到它来链接其他用户了 这是一个不太可能被破坏的搜索链接:chrome.google.com/webstore/search/cookies.txt。目前对我来说,最高的结果是“Get cookies.txt”,提供者:Rahul Shaw【参考方案4】:

我很好奇其他人是否报告说 chrome 不再允许“复制为 curl”功能具有 cookie。

然后我想到这就像一个安全想法。如果您访问example.com,将请求以 curl 形式复制到example.com 将有 cookie。但是,将请求复制到其他域或子域将清理 cookie。例如,a.example.comtest.com 将没有 cookie。

【讨论】:

我可以确认是这种情况,至少在 Chrome 66 中是这样。

以上是关于如何从 Chrome 复制 cookie?的主要内容,如果未能解决你的问题,请参考以下文章

cooke

Cookie&Session

如何从 Android Chrome 中提取和查看 cookie?

如何给cookies设置过期时间?

requests.Session()从CookieJar加载cookie

jq实现cooking存储