zoukankan      html  css  js  c++  java
  • 发送微博消息

    <?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=weibo&callback=sinaSSOController.preloginCallBack&su=&rsakt=mod&client=ssologin.js(v1.4.15)&_=1403081692608";
            @preg_match_all('/((.*?))/is',get($getRndCode,$data),$data);
            $encryption = json_decode($data[1][0],true);
            return $encryption;
            
        }
  • 相关阅读:
    如何在VS 2010中使用 VS2013的解决方案(转)
    A2W、W2A、A2T、T2A的使用方法
    海康网络摄像机YV12转换为BGR,由opencv Mat显示 (转)
    特征提取代码总结
    请不要做浮躁的人
    linux下操作问题与总结
    项目问题与解决方案
    电脑故障与解决方案
    给年轻工程师的十大忠告
    记忆的马太效应
  • 原文地址:https://www.cnblogs.com/phpfensi/p/3910789.html
Copyright © 2011-2022 走看看