CURL 模拟登陆

/**
* 模拟登陆,并保存cookie
*/
function login_post($url, $cookie_file, $post=null) {
    $curl = curl_init();//初始化curl模块
    curl_setopt($curl, CURLOPT_URL, $url);//登录提交的地址
    curl_setopt($curl, CURLOPT_HEADER, 0);//是否显示头信息
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);//是否自动显示返回的信息
    curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie_file); //设置Cookie信息保存在指定的文件中
         
    if (!empty($post)){
        curl_setopt($curl, CURLOPT_POST, 1);//post方式提交
        curl_setopt($curl, CURLOPT_POSTFIELDS, $post);//要提交的信息
    }
         
    $output=curl_exec($curl);//执行cURL
    curl_close($curl);//关闭cURL资源,并且释放系统资源
    if (empty($output)) return false;
    return is_null(json_decode($output))?$output:json_decode($output,true);
}

这里保存cookie之后,后面的操作就可以带着这个cookie文件去请求了

//用这个方法携带cookie文件
curl_setopt($curl, CURLOPT_COOKIEFILE, $cookie_file);

你可能感兴趣的:(CURL 模拟登陆)