登陆第三方网站必须要做的一步就是保存cookie,这样才能登陆第三方网站。cookie是用于保存网站登陆信息的工具和媒介,先要将cookie保存才能做后续开发。
<?php //准备登陆的字段和值 $data="username=abc&password=123&remember=1"; //初始化curl $curlobj=curl_init(); //准备登陆页的url,就给慕课做个广告吧O(∩_∩)O哈哈~ curl_setopt($curlobj,CURLOPT_URL,); //执行程序之后不打印网页 curl_setopt($curlobj,CURLOPT_RETURNTRANSFER,1); //准备cookie的设置 //因为session、cookie有过期时间,所以需要设置时间 date_default_timezone_set(‘PRC‘); //开启cookie设置 curl_setopt($curlobj,CURLOPT_COOKIESESSION,1); //设置将cookie数据保存的文件名 curl_setopt($curlobj,CURLOPT_COOKIEFILE,‘cookiefile‘); //连接结束后保存cookie信息的文件 curl_setopt($curlobj,CURLOPT_COOKIEJAR,‘cookiefile‘); //设置cookie的值 curl_setopt($curlobj,CURLOPT_COOKIE,session_name().‘=‘.session_id); //不打印出头部信息 curl_setopt($curlobj,CURLOPT_HEADER,0); //支持登陆成功后的页面跳转 curl_setopt($curlobj,CURLOPT_FOLLOWLOCATION,1); //设施post提交的方法 //开启post提交 curl_setopt($curlobj,CURLOPT_POST,1); //设置post的提交参数 curl_setopt($curlobj,CURLOPT_POSTFIELDS,$data); //设置头字段数组 curl_setopt($curlobj,CURLOPT_HTTPHEADER,array( "application/x-www-form-urlencoded;charset=utf-8", "content-length:".strlen($data) )); //提交获取cookie curl_exec($curlobj); //设置个人中心的url curl_setopt($curlobj,CURLOPT_URL,); //关闭post提交设置 curl_setopt($curlobj,CURLOPT_POST,0); //设置http头字段的数组 curl_setopt($curlobj,CURLOPT_HTTPHEADER,array( "content-type:text/xml" )); //开始执行 $str=curl_exec($curlobj); //关闭curl curl_close(); //输出 echo $str; ?>
整个流程就走完了,其中模拟用户登录最关键的就是cookie的设置,以及post提交的设置。这两部分非常关键。
时间: 2024-10-05 08:51:37