php模拟远程登录

<?php
!extension_loaded('curl') && die('The curl extension is not loaded.');   
  
$baseUrl   = 'http://127.0.0.1';//根地址 
$login_url = $baseUrl .'/login.php?act=login';//登录页地址   
$get_url   = $baseUrl .'/index.php'; //需要采集的页面   
  
$post_fields = array(); 
  
//以下两项需要修改   
$post_fields['name'] = 'admin';   
$post_fields['pass'] = '123456';   
 
  
//获取表单FORMHASH   
$ch = curl_init($login_url);   
curl_setopt($ch, CURLOPT_HEADER, 0);   
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);   
$contents = curl_exec($ch);   
curl_close($ch);   
   
  
//POST数据,获取COOKIE   
$cookie_file = dirname(__FILE__) . '/cookie.txt';   
$ch = curl_init($login_url);   
curl_setopt($ch, CURLOPT_HEADER, 0);   
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);   
curl_setopt($ch, CURLOPT_POST, 1);   
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields);   
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);   
curl_exec($ch);   
curl_close($ch);   
  
//带着上面得到的COOKIE获取需要登录后才能查看的页面内容   
$ch = curl_init($get_url);   
curl_setopt($ch, CURLOPT_HEADER, 0);   
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);   
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);  
$mycontents = curl_exec($ch);   
curl_close($ch);   
  
var_dump($mycontents);   

  

posted @ 2015-02-27 22:17  rebxx  阅读(607)  评论(0编辑  收藏  举报