php cUrl模拟登录,cookie保存到文件中
转载声明:
本文为摘录自“博客园”,版权归原作者所有。
温馨提示:
为了更好的体验,请点击原文链接进行浏览
摘录时间:
2020-03-27 13:23:55
源码如下:
1 <?php 2 header("Content-Type:text/html;charset=utf-8"); 3 //模拟群友通讯录手机号登录 4 $curl = curl_init(); 5 $cookie_jar = tempnam('./tmp','cookie'); //tempnam--建立一个具有唯一文件名的文件 6 curl_setopt($curl, CURLOPT_URL,'http://qun.hk/oauth/login');//这里写上处理登录的界面 7 curl_setopt($curl, CURLOPT_POST, 1); //post提交数据 8 $request = 'username=***&password=***'; 9 curl_setopt($curl, CURLOPT_POSTFIELDS, $request);//传递数据 10 curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie_jar);//把返回来的cookie信息保存在$cookie_jar文件中 11 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);//设定返回的数据是否自动显示 12 curl_setopt($curl, CURLOPT_HEADER, false);//设定是否显示头信息 13 curl_setopt($curl, CURLOPT_NOBODY, false);//设定是否输出页面内容 14 curl_exec($curl);//返回结果 15 curl_close($curl); //关闭*/ 16 ?>
执行程序可把登录获取的cookie信息保存到文件中
以下是运用cookie文件的例子:
1 <?php 2 header("Content-Type:text/html;charset=utf-8"); 3 $cookie_jar = dirname(__FILE__)."/tmp/coo4B58.tmp"; //保存的cookie信息文件路径 4 $url="http://qun.hk/index/view/code/0c248f6bfa13/page/3"; 5 $arr=curl_get($url,$cookie_jar); 6 var_dump($arr); 7 8 /** 9 *curl post请求 10 */ 11 function curl_post($url,$data,$cookie_jar){ 12 $ch=curl_init(); 13 curl_setopt($ch, CURLOPT_URL, $url); 14 curl_setopt ( $ch, CURLOPT_POST, 1 ); 15 curl_setopt ( $ch, CURLOPT_HEADER, 0 ); 16 curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 ); 17 curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_jar); 18 curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data ); 19 $return = curl_exec ( $ch ); 20 curl_close ( $ch ); 21 } 22 23 /** 24 *curl get请求 25 */ 26 function curl_get($url,$cookie_jar){ 27 $curl2 = curl_init(); 28 curl_setopt($curl2, CURLOPT_URL, $url);//登陆后要从哪个页面获取信息 29 curl_setopt($curl2, CURLOPT_HEADER, false); 30 curl_setopt($curl2, CURLOPT_RETURNTRANSFER, 1); 31 curl_setopt($curl2, CURLOPT_COOKIEFILE, $cookie_jar); 32 $content = curl_exec($curl2); 33 $arr=json_decode($content,true); 34 curl_close($curl2); 35 return $arr; 36 }