正如我的客户需要的那样,我开发了一个通过cURl登录的代码。
登录www.web1.com并将cookie存储在cookie.txt
访问www.web2.com并使用该cookie浏览页面.txt
www.web2.com
没问题因此,当我想通过www.web3.com进行此操作时,会出现问题。
www.web3.com使用会话和cookie本身,我必须收集并使用它们。
这意味着我应该有一系列的cookies,首先来自www.web1.com,第二个来自www.web3.com,然后请求www.web3.com/somepage
我该怎么做?
答案 0 :(得分:0)
您可以执行命令行调用以从curl卷曲以将cookie保存到如下文件:
curl -c'/tmp/mycookies.txt''http://www.site.com/login.php
然后在提交到页面时使用这些cookie:
curl -b'/ tmp / mycookies.txt'-d'uname = MyLoginName& pass = MyPassword& action = login& x = 67& y = 11''http://www.site.com/login.php'
有关这些命令行标志的更多信息:
答案 1 :(得分:0)
您可以使用以下行获取Cookie信息:
curl -k -s -d'user=foo&pass=bar' -D- https://server1.com/login/ -o/dev/null -f
使用shell_exec或exec运行此命令。获取标题信息后,您可以解析cookie信息。使用帮助程序类或编写自己的解析器 - > http://framework.zend.com/manual/en/zend.http.cookies.html(Zend_Http_Cookie :: fromString) 您可以将此信息存储在会话中而不是文本文件中。对于web3.com,还要获取cookie信息并将其保存在session或cookie.txt文件中。