PHP CURL模拟登录 获取数据

使用了curl 模拟登录 测试了公司网站 代码记录下来

//模拟登录方法
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)); //要提交的信息  
    //http_build_query()生成 url-encoded 之后的请求字符串

   curl_exec($curl); //执行cURL

    curl_close($curl); //关闭cURL资源,并且释放系统资源 
}


//登录成功后获取数据
function get_content($url,$cookie){

    $ch = curl_init(); //初始化curl模块
    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; //返回抓取内容
}

// tempnam() 函数创建一个具有唯一文件名的临时文件。
$cookie = tempnam('./temp','cookie');
//登录地址url
$url_log = 'http://www.michelin-gift.com/index.php/cpp/cpp_logging/login';
//登录帐号 密码字段
$post = array('POST_userid'=>'帐号','POST_passwd'=>'密码');

//登录后获取数据的url
$url_content = 'http://www.michelin-gift.com/index.php/cpp/cpp/pub_main';

//先调用登录 方法
login_post($url_log,$cookie,$post);
//获取数据 方法
$content = get_content($url_content,$cookie);

 //删除cookie文件 
@ unlink($cookie); 

你可能感兴趣的:(PHP)