模拟登录 在登录页面进行登录后,进入特定的页面,获取特定的内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
//模拟登录 function login_post($url, $cookie, $post) { $curl = curl_init();//初始化curl模块 curl_setopt($curl, CURLOPT_URL, $url);//登录提交的地址 curl_setopt($curl, CURLOPT_HEADER, 0);//是否显示头信息 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 0);//是否自动显示返回的信息 curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie); //设置Cookie信息保存在指定的文件中 curl_setopt($curl, CURLOPT_POST, 1);//post方式提交 curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($post));//要提交的信息 curl_exec($curl);//执行cURL curl_close($curl);//关闭cURL资源,并且释放系统资源 } //登录成功后获取数据 function get_content($url, $cookie) { $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_COOKIEFILE, $cookie); //读取cookie $rs = curl_exec($ch); //执行cURL抓取页面内容 curl_close($ch); return $rs; } $post = array ( 'log' => '****', 'pwd'=>'****', 'wp-submit'=>'登录', 'redirect_to'=>'http://blog.1z5k.com/wp-admin/' ); //登录地址 $url = 'http://blog.1z5k.com/wp-login.php'; //设置cookie保存路径 $cookie = dirname(__FILE__) . '\cookie_temp.txt'; //登录后要获取信息的地址 $url2 = "http://blog.1z5k.com/wp-admin/"; //模拟登录 login_post($url, $cookie, $post); //获取登录页的信息 $content = get_content($url2, $cookie); //删除cookie文件 @ unlink($cookie); //匹配页面信息 //$preg = "|<[^>]+>(.*)</[^>]+>|U"; $preg = '/<div id="wpcontent"> (.*)<\/div>/iUs'; preg_match_all($preg,$content,$arr_content); var_dump($arr_content); |
$post 中的变量是按照原始页面的 form date进行填充的,当然用户名密码你得知道。这里我登录了自己的博客后台,并进去管理页面,是ok滴! 查看第一篇 查看第二篇