curl模拟登陆问题
本帖最后由 zkg510168343 于 2013-10-22 15:29:21 编辑
$url="http://bbs.lampbrother.net/login.php";
$urls="http://bbs.lampbrother.net";
$lgt=0;
$user="zkg12345";
$pass="123456";
$question=0;
$hideid=1;
$temp=tempnam('./tep','cookie');
$postdata="forward=&jumpurl=".$urls."&step=2&lgt=".$lgt."&pwuser=".$user."&pwpwd=".$pass."&question=".$question."&answer=&hideid=".$hideid."&cktime=";
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_HEADER,0);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$postdata);
curl_setopt($ch,CURLOPT_COOKIEJAR,$temp);
$data=curl_exec($ch);
curl_close($ch);
//echo$data;//这里打印的时候可以看到已经登陆成功正在跳转
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,'http://bbs.lampbrother.net/index.php');
curl_setopt($ch,CURLOPT_HEADER,0);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,0);
curl_setopt($ch,CURLOPT_COOKIEFILE,$temp);
curl_exec($ch);
curl_close($ch);
?>
登陆的完成后,我打印的时候发现是登陆成功了的,显示正在跳转页面,可是再次请求首页还是未登录状态,别的页面也是没有登陆,请问这是什么问题,怎样调试
在cookie临时文件里生成了一个coo810B.tmp文件
值为
#NetscapeHTTPCookieFile
#http://curlm.haxx.se/rfc/cookie_spec.html
#Thisfilewasgeneratedbylibcurl!Editatyourownrisk.
.lampbrother.net TRUE / FALSE 1413961648 4f62d_c_stamp 1382425648
.lampbrother.net TRUE / FALSE 1350889647 4f62d_lastvisit deleted
.lampbrother.net TRUE / FALSE 1413961648 4f62d_lastpos other
.lampbrother.net TRUE / FALSE 1350889647 4f62d_ci deleted
.lampbrother.net TRUE / FALSE 1413961648 4f62d_ck_info %2F%09.lampbrother.net
.lampbrother.net TRUE / FALSE 1350889647 4f62d_regactivate deleted
------解决方案--------------------
要全路径!
$temp=realpath(tempnam('./tep','cookie'));