我正在使用curl登录tumblr进行一些操作。我不使用tumblrAPI,因为还有其他一些限制。
如提及其他一些职位。我使用curl_init,然后使用多个curl_exec并关闭。但它似乎不起作用$结果1显示我已成功登录。但是$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);
$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,它可能用于一些身份验证