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号码";

}

?>


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部