PHP实现发送微博消息功能完整示例
本文实例讲述了PHP实现发送微博消息功能。分享给大家供大家参考,具体如下:
$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;
}
更多关于PHP相关内容感兴趣的读者可查看本站专题:《phpcurl用法总结》、《PHP网络编程技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《PHP数据结构与算法教程》及《PHP中json格式数据操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。