送卷曲饼干

我使用 curl 来检索 cookie,如下所示:

curl -c cookies.txt url

然后解析 Cookie 中我想要的 Cookie,并用 Cookie 再次发送请求

curl -b "name=value" url

这是送饼干的正确方式吗? 有更简单的方法吗?

112548 次浏览

您也可以使用-b 来指定一个 Cookie 文件,从中读取 Cookie。

在许多情况下,对同一个文件使用 CB正是您想要的:

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 一行组成,每一行由以下七个制表符分隔的字段组成:

  • Domain-创建可读取变量的 AND 的域。
  • 一个 TRUE/FALSE 值,指示给定域中的所有计算机是否都可以访问该变量。此值由浏览器自动设置,具体取决于为域设置的值。
  • Path-变量对其有效的域内的路径。
  • Security-一个 TRUE/FALSE 值,指示是否需要与域的安全连接来访问变量。
  • 失效时间-变量到期的 UNIX 时间。UNIX 时间定义为自1970年1月1日00:00:00 GMT 以来的秒数。
  • Name-变量的名称。
  • Value-变量的值。

来自 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。