我有一个脚本,它使用 cookie 文件中的特定 cookie 值来卷曲网站。当我在本地系统上运行此脚本时,服务器会按照我的预期将相同的值返回到我的 cookie jar。当我从另一个物理主机运行相同的脚本时,我得到了完全相同的预期结果。但是,当我从 ec2 实例运行脚本时,我没有得到返回到我的 cookie jar 的相同值。
两台物理机运行 Ubuntu 11.04,而 ec2 VM 运行 11.10,并且至少一个工作系统上的 curl 版本为 7.21.3。在此脚本失败的系统上,curl 版本为 7.21.6,但如果这是操作系统或 curl 版本问题,我会感到惊讶。话虽如此,我不知道是什么原因导致此脚本失败。有人能为我解释一下吗?这是脚本中的 curl 命令:
curl --connect-timeout 3 --silent --cookie /home/ubuntu/cookiefile --cookie-jar /home/ubuntu/cookiejarfilehttp://www.site.com/htmlpage.html> /dev/null
答案1
因此,罪魁祸首似乎是空格。我不确定它是什么时候混入进来的——我一定是将我的 cookie 文件内容从本地系统复制并粘贴到了远程系统中,尽管我记得我曾用 scp 将其复制。现在一切都好了,不过在此过程中,我发现我还有另一个关于使用 curl 从命令行处理 cookie 的问题,一旦我确认这不是我自己造成的问题,我就会将其作为自己的问题发布。