2009-12-30 23 views
0

這是我的代碼:登錄到一個PHP論壇使用的lib捲曲,並得到一個頁面內容

$ch = curl_init(); 

curl_setopt($ch, CURLOPT_URL, "http://www.membersite.com/login.php"); 
curl_setopt ($ch, CURLOPT_POST, 1); 
curl_setopt ($ch, CURLOPT_POSTFIELDS, 'username=deleted&password=deleted'); 
curl_setopt ($ch, CURLOPT_COOKIEJAR, 'C:\xampp\htdocs\scrape\cookie.txt'); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 

$store = curl_exec ($ch); 

curl_setopt($ch, CURLOPT_URL, "http://www.membersite.com/memberlist.php"); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 

$page = curl_exec ($ch); 

echo $page; 

curl_close($ch); 

但我不認爲這是成功登錄的網站(我自己的,順便說一句)沒有顯示我登錄的日誌。我知道用戶名和密碼是正確的,URL也是如此。我得到一個cookie.txt文件,看起來像是好的數據,但我不確定。

如果我嘗試一些基本的調試,像這樣:

$ch = curl_init(); 

curl_setopt($ch, CURLOPT_URL, "http://www.membersite.com/login.php"); 
curl_setopt ($ch, CURLOPT_POST, 1); 
curl_setopt ($ch, CURLOPT_POSTFIELDS, 'username=deleted&password=deleted'); 
curl_setopt ($ch, CURLOPT_COOKIEJAR, 'C:\xampp\htdocs\scrape\cookie.txt'); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 

if(!$store = curl_exec($ch)) 
{ 
    echo "login fail"; 
} 

curl_setopt($ch, CURLOPT_URL, "http://www.membersite.com/memberlist.php"); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 

if(!$page = curl_exec($ch)) 
{ 
    echo "page fail"; 
} 

echo $page; 

curl_close($ch); 

我得到一個「頁面失效」正在打印的頁面,所以我想在日誌記錄不工作。

任何幫助?謝謝。

+0

垃圾信息論壇,呵呵? – dusoft 2009-12-30 23:46:55

+0

我喜歡它,當人們假設你正在惡意構建某些東西時。 不,我不是。如果你不能提供幫助,請不要回復。 – Matt 2009-12-30 23:48:37

回答

0

沒關係,下載了phpBB cURL庫並對其進行了排序。

0

添加CURLOPT_COOKIEFILE選項,其值與CURLOPT_COOKIEJAR選項的值相同。

您還需要爲每個後續請求使用這兩個選項(即您對memberlist.php的請求)。

你可以看到一種做法here

相關問題