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


    源码如下:

     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 }
  • 相关阅读:
    npm optionalDependencies 依赖处理
    grafana 8.0 新的报警机制
    cube.js prometheus 监控
    cube.js 新版本playground 特性
    data mesh & data lake & data fabric
    java 几个开源dataframe 的实现包
    archaius netflix 的配置管理工具框架
    dremio 文件夹数据分区
    dremio 17 发布了
    Linux系统挂载未分配硬盘空间
  • 原文地址:https://www.cnblogs.com/hzd2010/p/5681444.html
Copyright © 2020-2023  润新知