我使用 curl 来检索 cookie,如下所示:
curl -c cookies.txt url
然后解析 Cookie 中我想要的 Cookie,并用 Cookie 再次发送请求
curl -b "name=value" url
这是送饼干的正确方式吗? 有更简单的方法吗?
您也可以使用-b 来指定一个 Cookie 文件,从中读取 Cookie。
在许多情况下,对同一个文件使用 C和 B正是您想要的:
curl -b cookies.txt -c cookies.txt http://example.com
再远一点
仅使用-c 将使 curl 启动时没有 cookie,但仍然解析和理解 cookie,如果使用了重定向或多个 URL,它将在单次调用中使用接收到的 cookie,然后将它们全部写到最后的输出文件中。
B 选项将一组初始 cookie 提供给 curl,这样 curl 在开始时就知道这些 cookie,并激活 curl 的 cookie 解析器,这样 curl 也可以解析和使用传入的 cookie。
参见
所有东西都卷曲了书中的 Cookie 一章。
.example.com TRUE / FALSE 1560211200 MY_VARIABLE MY_VALUE
Cookie 文件格式显然由每个 Cookie 一行组成,每一行由以下七个制表符分隔的字段组成:
来自 http://www.cookiecentral.com/faq/#3.5
如果你在 Firefox 上安装了 Firebug,只需打开网址。在网络面板中,右键单击并选择 Copy as cURL。您可以看到这个 web 调用的所有 curl 参数。
非常烦人,官方网站 https://ec.haxx.se/http/http-cookies上没有 cookie 文件的例子。
最后,我发现它不工作,如果你的文件内容只是复制这样
foo1=bar;foo2=bar2
我猜想格式必须看起来像@Agust í Sánchez 所说的风格 。您可以通过 -c 测试它,以在网站上创建一个 cookie 文件。
所以试试这种方式,它的工作原理
curl -H "Cookie:`cat ./my.cookie`" http://xxxx.com
您可以只复制从铬控制台网络标签的 Cookie。