php cUrl模拟登录,cookie保存到文件中

来源:博客园 分类: 文章浏览史 发布时间:2020-03-27 13:23:55 最后更新:2020-03-27 浏览:106
转载声明:
本文为摘录自“博客园”,版权归原作者所有。
温馨提示:
为了更好的体验,请点击原文链接进行浏览
摘录时间:
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 }
复制代码

 

php技术微信