<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <?php 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 发送成功!<br>"; //echo $result; } else{ echo "该QQ-----> $uin 发送失败!"; echo $result; } } else{ echo "该QQ-----> $uin 不支持此接口."; } } else{ echo "QQ号码无效-----> 请输入 http://www.xitongle.com/post.php?uin=QQ号码"; } ?>
php发送qq消息
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php
function fcontents($url,$cookie){
$ch =&n...
- 发表于 2018-03-19 14:34
- 阅读 ( 1641 )
- 分类:其他
你可能感兴趣的文章
随机文章
- 这次没跳票!Java 10正式发布,带来了这些新特性 4816 浏览
- 使用HttpURLConnection来请求URL并返回字符串 3031 浏览
- Java字符串(String)转成char[]数组,char数组转String 3955 浏览
- Java字符串(String)转成byte[]数组,byte数组转String 3399 浏览
- 结合源码浅析Struts2与Spring整合的原理 3295 浏览
相关问题
条评论
请先 登录 后评论
发送私信
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!