我使用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"
我使用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"
6条答案
按热度按时间vkc1a9a21#
1.按F12打开开发人员控制台(Mac:Cmd+Opt+J)
1.查看网络选项卡。
1.在网站上做任何你需要做的事情来触发你感兴趣的动作
1.右键点击相应的请求,选择“复制为cURL”
这将给予您触发的操作提供curl命令,完全填充了cookie和所有内容。当然,您也可以复制标志作为新curl命令的基础。
ffdz8vbo2#
在Chrome中:
在航站楼内
--cookie "cookiename=cookievalue"
添加到您的curl请求中。t1rydlwq3#
在Chrome/Chromium中有一种更简单的方法。
开源Chrome扩展cookies.txt将cookie数据导出到cookies.txt文件中,并生成一个可选的现成wget命令。
7nbnzgx94#
真不敢相信竟然没有人提到这一点。这是最简单快捷的方法。
只需打开浏览器的
Developer Tools
,单击Console
选项卡,最后在控制台中,只需键入以下内容并按Enter...结果将立即以正确的语法打印出来。只需突出显示并复制即可。
ttp71kqs5#
我很好奇,如果其他人报告说, chrome 不允许“复制为 curl ”功能有饼干了。
然后我想到这就像一个安全的想法。如果你访问
example.com
,复制请求作为curl到example.com
将有cookie。然而,复制请求到其他域或子域将净化cookie。例如a.example.com
或test.com
将没有cookie。jogvjijk6#
对于任何想要网站的所有cookie,但不想使用扩展的人:
Ctrl
/Cmd
-A
Ctrl
/Cmd
-C
复制此表中的所有数据现在你有了一个TSV(制表符分隔值)字符串的cookie数据。你可以用任何你想要的语言来处理它,但是在Python中(例如):
现在,您可以将它们导出为Netscape格式:
最后,回到shell: