Cookies 送曲奇饼

Cookies 送曲奇饼,cookies,curl,Cookies,Curl,我使用curl检索cookies,如下所示: curl -c cookies.txt url 然后,我从cookies.txt文件中解析我想要的cookie,并用cookie再次发送请求 curl -b "name=value" url 这是发送cookie的正确方式吗? 有更简单的方法吗?您也可以使用-b指定一个cookie文件来读取cookie 在许多情况下,使用和到同一文件是您想要的: curl -b cookies.txt -c cookies.txt http://example

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

curl -c cookies.txt url
然后,我从cookies.txt文件中解析我想要的cookie,并用cookie再次发送请求

curl -b "name=value" url 
这是发送cookie的正确方式吗?
有更简单的方法吗?

您也可以使用-b指定一个cookie文件来读取cookie

在许多情况下,使用和到同一文件是您想要的:

curl -b cookies.txt -c cookies.txt http://example.com
进一步

仅使用-c将使curl开始时没有cookie,但仍然解析和理解cookie,如果使用了重定向或多个URL,它将在单个调用中使用接收到的cookie,然后将它们全部写入输出文件

-b选项将一组初始cookie提供给curl,以便它在开始时知道它们,并激活curl的cookie解析器,以便它也解析和使用传入的cookie

另请参见


在Everything curl book中找到了。example.com TRUE/FALSE 156011200 MY_变量MY_值

.com

cookie文件格式显然由每个cookie一行组成,每行由以下七个制表符分隔的字段组成:

  • 域-创建并可以读取变量的域
  • flag-一个真/假值,指示给定域中的所有计算机是否都可以访问该变量。此值由浏览器自动设置,具体取决于为域设置的值
  • path—域内变量有效的路径
  • 安全-一个真/假值,指示访问变量是否需要与域的安全连接
  • expiration—变量将在其上过期的UNIX时间。UNIX时间定义为自1970年1月1日00:00:00 GMT以来的秒数
  • 名称-变量的名称
  • value-变量的值

如果您在Firefox上安装了Firebug,只需打开url即可。在“网络”面板中,单击鼠标右键,然后选择“复制为卷曲”。您可以看到此web调用的所有curl参数。

非常烦人,官方网站上没有cookie文件

最后,如果你的文件内容像这样被复制,我发现它不起作用

foo1=bar;foo2=bar2
我认为格式必须看起来像@AgustíSánchez所说的风格 . 您可以通过-c测试它,在网站上创建cookie文件

所以试着用这种方法,它是有效的

curl -H "Cookie:`cat ./my.cookie`"   http://xxxx.com

您只需从chrome控制台网络选项卡复制cookie即可。

我希望
--cookie jar
的手册页上没有说“此命令行选项将激活制作curl记录并使用cookie的cookie引擎。”[emphasis mine]因为这听起来就像
--cookie jar
会导致发送cookie,这是假的。@blahdiblah:是真的。如果在命令行中使用--cookie jar,该命令行首先接收cookie,然后重定向到第二个页面,那么它将使用第一个页面中的cookie(假设它们匹配等等)。它只是不会从任何文件中读取任何初始cookie。是的,手册页具有误导性。我以为我只是通过使用-c选项发送cookies,直到我使用了-v,发现它没有发送cookies。你能分享cookies.txt的格式吗?man文件现在更清楚了:
注意,用-b,--cookie指定的文件仅用作输入。文件中不会存储任何cookie。要存储cookie,请使用-c,--cookie-jar选项,或者甚至可以使用-D,--dump-header将HTTP头保存到文件中请注意,文件中的值必须用制表符而不是空格分隔。