(编辑:jimmy 日期: 2025/10/25 浏览:2)
本文实例讲述了PHP实现发送微博消息功能。分享给大家供大家参考,具体如下:
<"/weibo.cookie";
$username = '用户名';
$password = '密码';
$userCenter = loginWeibo($username,$password);
echo sendMsg("不知道能不能成功呢!");
function sendMsg($msg){
global $cookie_file,$userCenter;
$posturl = "http://weibo.com/aj/mblog/add".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"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";
@preg_match_all('/\((.*"_blank" href="//www.jb51.net/Special/66.htm">php curl用法总结》、《PHP网络编程技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《PHP数据结构与算法教程》及《PHP中json格式数据操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。