我用PHP模拟登陆我们学校的图书馆系统,可老是登陆不上。$data=array('loginName'=>'20102643', 'password'=> '20102643','cookieMaxAge'=>'72');
$data=http_build_query($data);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://lib.cqu.edu.cn/login/login.htm");
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$tmpInfo = curl_exec($ch);
echo $tmpInfo;
结果页面总是提示我的密码错误,可是我用浏览器任然能登陆,用pHP代码模拟登陆就不行。
$data=http_build_query($data);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://lib.cqu.edu.cn/login/login.htm");
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$tmpInfo = curl_exec($ch);
echo $tmpInfo;
结果页面总是提示我的密码错误,可是我用浏览器任然能登陆,用pHP代码模拟登陆就不行。
登录代码$data=array(
'loginName'=>'20102643',
'password'=> '20102643',
'password_encrypt' => sha1('20102643'), //你少了这个 js 计算充填的值
'cookieMaxAge'=>'72'
);$jar = realpath(tempnam('./', 'c')); //cookie 缓存文件
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://lib.cqu.edu.cn/login/login.htm");
curl_setopt($ch, CURLOPT_COOKIEJAR, $jar); //保存 cookie
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_exec($ch);
curl_close($ch);
/*** 获取 sessionid 结束 ***/$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://lib.cqu.edu.cn/login/login.htm");
curl_setopt($ch, CURLOPT_COOKIEFILE, $jar); //发送 cookie
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$tmpInfo = curl_exec($ch);
curl_close($ch);
/*** 获取登录后页面结束 ***///给返回页面配上 url 来源并输出
echo str_replace('</title>', '</title><base href=http://lib.cqu.edu.cn>', $tmpInfo);注意:几乎里面的每个 js 文件加载时都会有一个弹窗,应该是某个 js 文件没有加载成功