php如何用curl模拟登录http://www.lazpw.cn/user/login.php这个。
拿去用,不谢
if (! is_writable(__DIR__)) { exit('目录不可写,exit'); } $cookie_file = 'cookies.txt'; $username = 'ty0716'; $password = 'test12345'; $post = array( 'username' => $username, 'password' => $password, 'expire' => '', 'url' => '', 'time' => time(), 'act' => 'do_login' ); // username=ty0716&password=qaz&expire=&url=&time=1456104638534&act=do_login $login_url = 'http://www.lazpw.cn/plus/ajax_user.php'; $login = post($login_url, http_build_query($post), $cookie_file); if ($login == 'err') { exit('用户名或密码错误'); } $login_log_page = get('http://www.lazpw.cn/user/personal/personal_user.php?act=login_log', $cookie_file); echo iconv("UTF-8", "GB2312//IGNORE", $login_log_page); unlink($cookie_file); function post($url, $data, $cookie_file) { // 初始化 $curl = curl_init($url); // 不输出header头信息 curl_setopt($curl, CURLOPT_HEADER, 0); // 保存到字符串而不是输出 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie_file); curl_setopt($curl, CURLOPT_POST, 1); // 请求数据 curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // 是否抓取跳转后的页面 curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); $req = curl_exec($curl); curl_close($curl); return $req; } function get($url, $cookie_file) { // 初始化 $curl = curl_init($url); // 不输出header头信息 curl_setopt($curl, CURLOPT_HEADER, 0); curl_setopt($curl, CURLOPT_COOKIEFILE, $cookie_file); // 保存到字符串而不是输出 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 是否抓取跳转后的页面 curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); $req = curl_exec($curl); curl_close($curl); return $req; }
首先使用chrome的调试功能,分析登陆表单提交的内容;使用curl的post提交表单 CURLOPT_POST CURLOPT_POSTFIELDS;并保存cookie CURLOPT_COOKIEJAR CURLOPT_COOKIEFILE;
CURLOPT_POST
CURLOPT_POSTFIELDS
CURLOPT_COOKIEJAR
CURLOPT_COOKIEFILE
`
拿去用,不谢

首先使用chrome的调试功能,分析登陆表单提交的内容;
使用curl的post提交表单
CURLOPT_POST
CURLOPT_POSTFIELDS
;并保存cookie
CURLOPT_COOKIEJAR
CURLOPT_COOKIEFILE
;