php curl cookie没有注册

时间:2012-07-20 23:43:42

标签: php curl

我一直在玩this curl facebook登录脚本一段时间,只是试图掌握卷曲中的一些功能,但似乎我无法让cookie注册:

php脚本

     function facebookLogin(){
        $login_email = 'email';
        $login_pass = 'pass';

        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, 'http://www.facebook.com/login.php');
        curl_setopt($ch, CURLOPT_POSTFIELDS,'email='.urlencode($login_email).'&pass='.urlencode($login_pass).'&login=Login');
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
        curl_setopt($ch, CURLOPT_COOKIEJAR, "cookies.txt");
        curl_setopt($ch, CURLOPT_COOKIEFILE, "cookies.txt");
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3");
        curl_setopt($ch, CURLOPT_REFERER, "http://www.facebook.com");
        $page = curl_exec($ch);
        echo $page;
    }

我有一个名为cookies.txt的文本文件,该文件与脚本位于同一目录中,但在运行此脚本后,没有任何内容写入文件,因此没有创建cookie,这在尝试探索其他时是个大问题您必须登录同一网站的网页。

我哪里错了?

1 个答案:

答案 0 :(得分:0)

好吧事实证明它已注册,即使cookies.txt文件为空,但你需要确保在尝试浏览网站的其他部分时调用此文件,例如。

function facebookGoToMessages(){
    facebookLogin();

    $ch = curl_init ("http://www.facebook.com/messages");
    curl_setopt ($ch, CURLOPT_COOKIEFILE, "cookies.txt"); 
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3");
    curl_setopt($ch, CURLOPT_REFERER, "http://www.facebook.com");
    $page = curl_exec ($ch);
    echo $page; 
}
相关问题