我使用curl来检索这样的cookie:
curl -c cookies.txt url
然后我从cookies.txt文件中解析我想要的cookie并再次使用cookie发送请求
curl -b "name=value" url
这是发送cookie的正确方法吗? 有更简单的方法吗?
答案 0 :(得分:91)
您可以使用-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 书中的cookies chapter。
答案 1 :(得分:14)
.example.com TRUE / FALSE 1560211200 MY_VARIABLE MY_VALUE
Cookie文件格式显然包含每个Cookie的一行,每行包含以下七个制表符分隔的字段:
答案 2 :(得分:5)
如果你在Firefox上安装了Firebug,只需打开网址即可。在网络面板中,右键单击并选择“复制为cURL”。您可以看到此Web呼叫的所有curl参数。
答案 3 :(得分:0)
非常烦人,在官方网站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
您可以仅从chrome控制台的“网络”标签中复制cookie。