PHP中的curl-cookie问题

PHP中的curl-cookie问题,php,curl,Php,Curl,根据客户的需要,我开发了一个通过cURl登录的代码 登录www.web1.com并将cookie存储在cookie.txt中 转到www.web2.com并使用cookie.txt浏览页面 www.web2.com没有问题 因此,当我想在www.web3.com上这样做时,问题就出现了 www.web3.com使用会话和cookies本身,我必须收集并使用它们 这意味着我应该有两个cookie系列,第一个来自www.web1.com,第二个来自www.web3.com,然后请求www.web3.

根据客户的需要,我开发了一个通过cURl登录的代码

  • 登录www.web1.com并将cookie存储在cookie.txt中

  • 转到www.web2.com并使用cookie.txt浏览页面

  • www.web2.com没有问题

    因此,当我想在www.web3.com上这样做时,问题就出现了

    www.web3.com使用会话和cookies本身,我必须收集并使用它们

    这意味着我应该有两个cookie系列,第一个来自www.web1.com,第二个来自www.web3.com,然后请求www.web3.com/somepage


    我如何做到这一点?

    您可以从php执行对curl的命令行调用,将cookie保存到如下文件:

    curl-c'/tmp/mycokies.txt''

    然后在提交到页面时使用这些cookie,如下所示:

    curl-b'/tmp/mycokies.txt'-d'uname=MyLoginName&pass=MyPassword&action=login&x=67&y=11''

    有关这些命令行标志的详细信息:


    您可以使用以下行获取cookie信息:

    curl -k -s -d'user=foo&pass=bar' -D- https://server1.com/login/ -o/dev/null -f
    
    使用shell_exec或exec运行此命令。获取标题信息后,可以解析cookie信息。使用助手类或编写自己的解析器->(Zend_Http_Cookie::fromString) 您可以将此信息存储在会话中,而不是文本文件中。对于web3.com,还可以获取cookie信息并将其保存在会话或cookie.txt文件中