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(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。