在Chrome上用CURL保存Cookie

时间:2013-12-06 18:24:35

标签: cookies curl

我们使用CURL在Web应用程序上自动执行某些管理任务,该应用程序对域中的所有站点使用SSO cookie。最近,我们自动化的应用程序的身份验证系统发生了变化。没关系。我们更改了CURL脚本以符合新的身份验证。我们能够获得饼干并保存到罐子里。

问题在于保存cookie的方式。我查看了Google Chrome和Mozilla Firefox中的标头以及响应标头与我在CURL中看到的相同。但是,cookie jar中的cookie不会以可以发送到域中子网站的方式保存cookie。

CURL示例如下:

  

curl -c mycookie“https://login.example.com” - d loginUID = myusername -d loginPWD = mypassword

它保存的格式是:

  

login.example.com FALSE / TRUE SSOCookie automatedvalue

如果我们手动将cookie更改为:

,则子网站将使用cookie
  

.example.com TRUE / TRUE SSOCookie automatedvalue

我不确定为什么会这样保存cookie。

有谁知道会导致CURL保存cookie的原因是什么?或者,除了手动/编写脚本以进行整个域的更改之外还有其他工作吗?

注意:当我在设置cookie时使用-v。它说*为域login.cat.com

重新插入cookie SSOCookie“uniquecookieid”

谢谢,

1 个答案:

答案 0 :(得分:8)

花了两周多的时间后,我终于找到了解决方案。未设置cookie的原因是服务器检查以查看请求的来源。在curl命令中,我在站点的域中添加了一个--referer。

  

curl -c mycookie“https://login.example.com” - d“loginUID = myusername”-d“loginPWD = mypassword”--referer“https://login.example.com

cookie jar现在包含一个可用于发送到服务器的cookie。