2012-02-08 55 views
1

我正在使用捲曲來登錄tumblr進行某些操作。我沒有使用tumblr api,因爲還有其他限制。在密碼網站中進行多項操作的捲曲

至於其他一些職位。我使用curl_init,然後使用多個curl_exec並關閉。但它似乎並不奏效。 $ result1顯示我已成功登錄。但$ result2是空的。

$request_data = http_build_query(
    array(
     'email'  => $tumblr_email, 
     'password' => $tumblr_password, 
    ) 
); 


$c1 = curl_init('http://www.tumblr.com/login'); 
curl_setopt($c1, CURLOPT_POST, true); 
curl_setopt($c1, CURLOPT_POSTFIELDS, $request_data); 
curl_setopt($c1, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($c1, CURL_COOKIEFILE, ''); 
$result1 = curl_exec($c1); 

curl_setopt($c1, CURLOPT_URL, 'http://www.tumblr.com/likes/page/2'); 
$result2 = curl_exec($c1); 

curl_close($c1); 

回答

1
$request_data = http_build_query(
    array(
     'email'  => $tumblr_email, 
     'password' => $tumblr_password, 
    ) 
); 


$c1 = curl_init('http://www.tumblr.com/login'); 
curl_setopt($c1, CURLOPT_POST, true); 
curl_setopt($c1, CURLOPT_POSTFIELDS, $request_data); 
curl_setopt($c1, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($c1, CURL_COOKIEFILE, 'somefilename1.txt'); 
curl_setopt($c1,CURLOPT_COOKIEJAR, 'somefilename1.txt'); 
curl_setopt($c1,CURLOPT_FRESH_CONNECT,true);//No caching 
curl_setopt($c1,CURLOPT_FOLLOWLOCATION,true); 
curl_setopt($c1,CURLOPT_MAXREDIRS,1); 
$result1 = curl_exec($c1); 

curl_setopt($c1, CURLOPT_URL, 'http://www.tumblr.com/likes/page/2'); 
curl_setopt($c1, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($c1, CURL_COOKIEFILE, 'somefilename1.txt'); 
curl_setopt($c1,CURLOPT_COOKIEJAR, 'somefilename1.txt'); 
curl_setopt($c1,CURLOPT_FRESH_CONNECT,true);//No caching 
curl_setopt($c1,CURLOPT_FOLLOWLOCATION,true); 
curl_setopt($c1,CURLOPT_MAXREDIRS,1); 
$result2 = curl_exec($c1); 

curl_close($c1); 

檢查這一點,它的工作,實際ü應指定一些文件名存儲cookie從網站,它可以用於一些認證