用于存储和检索cookie的CURL

时间:2013-09-02 15:58:42

标签: php curl

我正在尝试编写用于分析的脚本。我在PHP方面有很好的经验,但在CURL方面不是很好。以下脚本的基本目的是,

  1. 使用PHP脚本登录XYZ.COM并将cookie保存到本地文件。
  2. 展望未来,我想使用这个本地cookie文件,然后想要从页面(XYZ.COM)中提取细节,这些页面只有在登录过程后才能访问。一切都是通过脚本。因此,必须进行身份验证才能访问这些页面。
  3. 我可以通过我的详细信息(通过脚本成功)对网站进行身份验证,但我无法存储cookie,下次当我调用该页面时,它会再次请求身份验证。我无法理解脚本出错的地方/我的方法是错误的。

    这是我创建的脚本:

    <?php
    
    function postData($url, $params)
    {
        $ch = curl_init($url);
    
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:11.0) Gecko/20100101 Firefox/11.0");
        $cookie_file = "cookie1.txt";
        curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
    curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
        $result = curl_exec($ch);
        curl_close($ch);
        return $result;
    }
    
    function getData($url)
    {
        $ch = curl_init($url);
        $result = curl_exec($ch);
        curl_close($ch);
        return $result;
    }
    
    $params = array(
    "login" => "USERNAME",
    "pass" => "PASSWORD",
    "remember" => 0,
    
    );
    $url = "http://www.WEBSITE_WITH_POST_FORUM_TARGET.com/services/login";
    echo postData($url, $params);
    echo getData("http://www.SAME_WEBSITE.com"); // HERE WHEN I LOAD THE WEBSITE, IT AGAIN ASKS FOR AUTHENTICATION.
    ?>
    

    如果难以理解,请告诉我。

0 个答案:

没有答案