java 发送qq消息_php发送qq消息
function fcontents($url,$cookie){
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT,10);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模拟用户使用的浏览器
curl_setopt ($ch, CURLOPT_COOKIE, $cookie);
curl_setopt($ch, CURLOPT_REFERER,$url);
$fcontents = curl_exec($ch);
return $fcontents;
}
function vpost($url,$data,$cookie){ // 模拟提交数据函数
$curl = curl_init(); // 启动一个CURL会话
curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1); // 从证书中检查SSL加密算法是否存在
curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模拟用户使用的浏览器
curl_setopt($curl, CURLOPT_COOKIE, $cookie);
curl_setopt($curl, CURLOPT_REFERER,'https://d.connect.qq.com/proxy/sslproxy.html');
curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求
curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的数据包
curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循环
curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回
$tmpInfo = curl_exec($curl); // 执行操作
if (curl_errno($curl)) {
echo 'Errno'.curl_error($curl);//捕抓异常
}
curl_close($curl); // 关闭CURL会话
return $tmpInfo; // 返回数据
}
//基础变量
$cookie="uin=o062717; skey=@1blZyf;";//小号QQ
$uin=intval($_GET["uin"]);
if(!$uin=="0"){
$ptime = time();
$ptime2 = date("Y-m-d H:i:s",time());
//获取用户名字
$nurl="http://r.qzone.qq.com/cgi-bin/user/cgi_personal_card?uin=".$uin;
$user=fcontents($nurl,$cookie2);//获取信息的时候 cookie为空
preg_match("|\"nickname\"\:\"(.*)\"|isU",$user,$userarr);
$username = $userarr[1];
//获取sig值 带上cookie和来路能防止屏蔽
$surl="http://wpa.qq.com/msgrd?v=3&uin=$uin&site=qq&menu=yes";
$body=fcontents($surl,$cookie);
$body=str_replace("\u0026","&",$body);
preg_match("|Service=201&sigT=(.*)&sigU=(.*)\"|isU",$body,$sig);
$sigt=$sig[1];$sigui=$sig[2];
//echo '$sigt='.$sigt.';'.'$sigui='.$sigui.';';
$face=rand(0,110);$face2=rand(0,110);
//发送信息
if(!$sigt==''&&!$sigui==''){
$txt='[{"t":1,"index":'.$face.'},{"t":0,"text":"'.$username.'('.$uin.')\n"},{"t":0,"text":"\n"},{"t":0,"text":"咳咳咳 大家好\n\n"},{"t":0,"text":"机器人程序测试\n\n"},{"t":0,"text":"请忽视"},{"t":0,"text":"\n"},{"t":0,"text":"\n"},{"t":1,"index":'.$face2.'},{"t":0,"text":"'.$ptime2.'\n\n"},{"t":0,"text":"此条信息来自三叔机器程序!"}]';
//换行是在text里面加\n 如果是index 则加{"t":0,"text":"\n"},表情是{"t":1,"index":100}
$txt=urlencode($txt);//处理留言内容
$url = "https://d.web2.qq.com/webim/user/send";
$data ="pkg_num=1&index=0&msg_0={$txt}&sigt=$sigt&sigui=$sigui&tuin=$uin&clientid={$ptime}";
$result = vpost($url,$data,$cookie);
//echo $result;
if(strstr($result,":0")){
echo "该QQ-----> $uin 发送成功!
";
//echo $result;
}
else{
echo "该QQ-----> $uin 发送失败!";
echo $result;
}
}
else{
echo "该QQ-----> $uin 不支持此接口.";
}
}
else{
echo "QQ号码无效-----> 请输入 http://www.xitongle.com/post.php?uin=QQ号码";
}
?>
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
