2012-07-20 135 views
1

我一直在玩this curl facebook登錄腳本有一段時間只是試圖抓住curl中的一些功能,但似乎我無法獲得cookie註冊:php curl 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; 
    } 

我有一個名爲cookie.txt的是在同一目錄中腳本的文本文件,但運行此腳本沒有數據被寫入到文件後,因此沒有創建的cookie當試圖在同一網站上瀏覽其他網頁時,這是一個大問題你必須繼續登錄。

我在哪裏出錯了?

回答

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; 
}