2012-02-08 5 views
1

curlを使用して、いくつかの操作でtumblrをログインしています。他のいくつかの制限があるので、私はtumblr APIを使用していません。パスワードを設定したサイトでの複数の操作のためのカール

他の投稿を参考にしてください。私はcurl_initを使い、次に複数のcurl_execとcloseを使います。しかし、それは動作していないようです。 $ 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); 

この、それは動作しますが、実際にuはサイトからのクッキーを保存するために、いくつかのファイル名を指定してくださいチェック、それはいくつかの認証

のために使用することができます