<?php
$cookie_file=dirname(__FILE__)."/weibo.cookie";
$username='用户名';
$password='密码';
$userCenter=loginWeibo($username,$password);
echosendMsg("不知道能不能成功呢!");
functionsendMsg($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($postdataas$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(WindowsNT6.1;WOW64;rv:30.0)Gecko/20100101Firefox/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;
}
functionloginWeibo($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'];
}
functionloginPost($url,$data){
global$cookie_file;
//echo$cookie_file;exit;
$tmp='';
if(is_array($data)){
foreach($dataas$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;
}
functionpost($url,$data){
global$cookie_file;
$tmp='';
if(is_array($data)){
foreach($dataas$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;
}
functionget($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;
}
functionmp(){
$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;
}
|