zoukankan      html  css  js  c++  java
  • 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 }
  • 相关阅读:
    php 数组分页
    Fchart
    thinkphp对数据库操作有哪些内置函数
    MySQL性能优化的最佳20+条经验
    apache 简单笔记
    PHPMyadmin 配置文件详解(配置)
    mysql 常用知识
    分布式微服务日志的配置
    分布式微服务的配置
    分布式接口的调用
  • 原文地址:https://www.cnblogs.com/hzd2010/p/5681444.html
Copyright © 2011-2022 走看看