• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    PHP实现发送微博消息功能完整示例

    本文实例讲述了PHP实现发送微博消息功能。分享给大家供大家参考,具体如下:

    ?php
    $cookie_file = dirname(__FILE__)."/weibo.cookie";
    $username = '用户名';
    $password = '密码';
      $userCenter = loginWeibo($username,$password);
      echo sendMsg("不知道能不能成功呢!");
      function sendMsg($msg){
        global $cookie_file,$userCenter;
        $posturl = "http://weibo.com/aj/mblog/add?_wv=5__rnd=".time()."707";
        $postdata['text'] = $msg;
        $postdata['pic_id'] = "";
        $postdata['rank'] = 0;
        $postdata['rankid'] = "";
        $postdata['_surl'] = "";
        $postdata['hottopicid'] = "";
        $postdata['location'] = "home";
        $postdata['module'] = "stissue";
        $postdata['_t'] = 0;
        foreach($postdata as $key =>$value){
            $tmp .= $key."=".$value."";
        }
        $post = trim($tmp,"");
        $header = array(
          'Host:weibo.com',
          'Accept: */*',
          'Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3',
          'Content-Type:application/x-www-form-urlencoded',
          'X-Requested-With:XMLHttpRequest',
          'Referer: '.$userCenter,
        );
        //var_dump($header);exit;
        $ch = curl_init();
        curl_setopt($ch,CURLOPT_URL,$posturl);
        curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
        curl_setopt($ch,CURLOPT_COOKIEFILE, $cookie_file);
        curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0');
        curl_setopt($ch,CURLOPT_HTTPHEADER,$header);
        curl_setopt($ch,CURLOPT_POST,1);
        curl_setopt($ch,CURLOPT_POSTFIELDS,$post);
        $str = curl_exec($ch);
        curl_close($ch);
        return $str;
      }
      function loginWeibo($u,$p){
        global $cookie_file ;
        //$password = sha1(sha1(sha1($p)).$encryption['servertime'].$encryption['nonce']);
        $password = $p;
        $username = base64_encode($u);
        $loginUrl = 'https://login.sina.com.cn/sso/login.php?client=ssologin.js(v1.4.15)_=1403138799543';
        $loginData['entry'] = 'sso';
        $loginData['gateway'] = '1';
        $loginData['from'] = 'null';
        $loginData['savestate'] = '30';
        $loginData['useticket'] = '0';
        $loginData['pagerefer'] = '';
        $loginData['vsnf'] = '1';
        $loginData['su'] = base64_encode($u);
        $loginData['service'] = 'sso';
        $loginData['sp'] = $password;
        $loginData['sr'] = '1920*1080';
        $loginData['encoding'] = 'UTF-8';
        $loginData['cdult'] = '3';
        $loginData['domain'] = 'sina.com.cn';
        $loginData['prelt'] = '0';
        $loginData['returntype'] = 'TEXT';
        //var_dump($loginData);exit;
        $login = json_decode(loginPost($loginUrl,$loginData),true);
        //获取微博
        get($login['crossDomainUrlList'][0]);
        $ch = curl_init();
        curl_setopt($ch,CURLOPT_URL,"http://weibo.com");  
        curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);  
        curl_setopt($ch,CURLOPT_COOKIEFILE, $cookie_file);  
        curl_setopt($ch,CURLOPT_COOKIEJAR,$cookie_file);  
        $return = curl_exec($ch);
        $info = curl_getinfo($ch);
        curl_close($ch);
        $ch = curl_init();
        curl_setopt($ch,CURLOPT_URL,$info['redirect_url']);  
        curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);  
        curl_setopt($ch,CURLOPT_COOKIEFILE, $cookie_file);  
        curl_setopt($ch,CURLOPT_COOKIEJAR,$cookie_file);  
        curl_exec($ch);
        curl_close($ch);
        return $info['redirect_url'];
      }
      function loginPost($url,$data){
        global $cookie_file ;
        //echo $cookie_file ;exit;
        $tmp = '';
        if(is_array($data)){
            foreach($data as $key =>$value){
                $tmp .= $key."=".$value."";
            }
            $post = trim($tmp,"");
        }else{
            $post = $data;
        }
        $ch = curl_init();
        curl_setopt($ch,CURLOPT_URL,$url);  
        curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);  
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);    
        curl_setopt($ch,CURLOPT_POST,1);
        curl_setopt($ch,CURLOPT_POSTFIELDS,$post);
        curl_setopt($ch,CURLOPT_COOKIEJAR,$cookie_file);
        curl_setopt($ch,CURLOPT_COOKIEJAR,$cookie_file);
        $return = curl_exec($ch);
        $info = curl_getinfo($ch);
        curl_close($ch);
        return $return;
      }
      function post($url,$data){
        global $cookie_file;
        $tmp = '';
        if(is_array($data)){
            foreach($data as $key =>$value){
                $tmp .= $key."=".$value."";
            }
            $post = trim($tmp,"");
        }else{
            $post = $data;
        }
        $ch = curl_init();
        curl_setopt($ch,CURLOPT_URL,$url);  
        curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);      
        curl_setopt($ch,CURLOPT_POST,1);
        curl_setopt($ch,CURLOPT_COOKIEFILE, $cookie_file);
        curl_setopt($ch,CURLOPT_POSTFIELDS,$post);
        $return = curl_exec($ch);
        $info = curl_getinfo($ch);
        curl_close($ch);
        return $return;
      }
      function get($url,$getInfo=false){
          global $cookie_file;  
          $ch = curl_init();
          curl_setopt($ch,CURLOPT_URL,$url);  
          curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);  
          curl_setopt($ch,CURLOPT_COOKIEFILE, $cookie_file);  
          curl_setopt($ch,CURLOPT_COOKIEJAR,$cookie_file);  
          curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
          curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);      
          $return = curl_exec($ch);
          $info = curl_getinfo($ch);
          if($getInfo)return $info;
          curl_close($ch);
          return $return;
      }
      function mp(){
        $getRndCode = "http://login.sina.com.cn/sso/prelogin.php?entry=weibocallback=sinaSSOController.preloginCallBacksu=rsakt=modclient=ssologin.js(v1.4.15)_=1403081692608";
        @preg_match_all('/\((.*?)\)/is',get($getRndCode,$data),$data);
        $encryption = json_decode($data[1][0],true);
        return $encryption;
      }
    
    

    更多关于PHP相关内容感兴趣的读者可查看本站专题:《php curl用法总结》、《PHP网络编程技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《PHP数据结构与算法教程》及《PHP中json格式数据操作技巧汇总》

    希望本文所述对大家PHP程序设计有所帮助。

    您可能感兴趣的文章:
    • redis+php实现微博(三)微博列表功能详解
    • redis+php实现微博(二)发布与关注功能详解
    • redis+php实现微博(一)注册与登录功能详解
    • PHP+redis实现微博的拉模型案例详解
    • PHP+redis实现微博的推模型案例分析
    • vue+php实现的微博留言功能示例
    • php微信分享到朋友圈、QQ、朋友、微博
    • PHP调用微博接口实现微博登录的方法示例
    • php新浪微博登录接口用法实例
    • 基于PHP实现发微博动态代码实例
    上一篇:PHP连续签到功能实现方法详解
    下一篇:php实现快速对二维数组某一列进行组装的方法小结
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    PHP实现发送微博消息功能完整示例 PHP,实现,发送,微博,消息,