亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

實現基本QQ功能的PHP類-QQ機器人

2020-03-24 17:29:57
字體:
來源:轉載
供稿:網友
1、研究說明Tencent在tqq.tencent.com的8000有一個使用HTTP的QQ接口,通過這個接口,可以進行一些基本的操作,如:登陸、登出、改變登陸狀態(上線、忙碌、離線、隱身)、添加刪除好友、查看好友信息、發送驗證信息(接受被加為好友、申請加對方為好友、拒絕被加為好友)、收發用戶消息、系統信息。目前我研究的是1.1版本的HTTP QQ協議,研究是微程在的成果上進行的,不敢說有什么超越,只不過更為詳細和準確。2、接口說明:接口位置:tqq.tencent.com:8000通信協議:HTTP數據傳輸方法:POSTHTTP請求格式:
POST HTTP/1.1

Host: tqq.tencent.com:8000

Content-Type: text/plain; charset=UTF-8

Content-length: 長度

Connection: close
以上4個參數是每個請求都必有的。其中,VER表示協議的版本,目前為1.1,據說1.2已經出來了,這個亂寫的話,服務器返回NULL;CMD為操作的指令,有Login、List、Query_Stat、GetInfo、AddToList、Ack_AddToList、DelFromList、Change_Stat、GetMsgEx、CLTMSG、Logout;SEQ為當前請求的標記,防止重復發送,可以用當前時間,也可以用隨機數;UIN是當前執行操作的QQ號。不過不同的CMD還需要不同的參數,下面我就公布我的研究成果。3、研究方法:我對目前網上的資料不夠滿意,就自己寫程序,發送多條相同CMD不同參數的請求,根據服務器的返回,來做判斷。感興趣的朋友可以參考一下,此處可以跳過。下面我公布我探測的代碼(PHP):

?

$uin = QQ號

$pwd = md5( QQ密碼

//登陸測試

$poststring[] = VER=1.1 CMD=Login SEQ= .rand(1000,9000). UIN= .$uin. PS= .$pwd. M5=1 LC=9326B87B234E7235

//注意:登陸測試不能同時進行,必須等到服務器認為QQ斷開了,才能夠測試,不然結果不可信

/*******

$poststring[] = VER=1.1 CMD=Login SEQ= .rand(1000,9000). UIN= .$uin. PS= .$pwd. M5=0 LC=9326B87B234E7235

$poststring[] = VER=1.1 CMD=Login SEQ= .rand(1000,9000). UIN= .$uin. PS= .$pwd. M5=1 LC=9326B87B234E7235

$poststring[] = VER=1.1 CMD=Login SEQ= .rand(1000,9000). UIN= .$uin. PS= .$pwd. M5=2 LC=9326B87B234E7235

$poststring[] = VER=1.1 CMD=Login SEQ= .rand(1000,9000). UIN= .$uin. PS= .$pwd. M5=3 LC=9326B87B234E7235

$poststring[] = VER=1.1 CMD=Login SEQ= .rand(1000,9000). UIN= .$uin. PS= .$pwd. M6=1 LC=9326B87B234E7235

$poststring[] = VER=1.1 CMD=Login SEQ= .rand(1000,9000). UIN= .$uin. PS= .$pwd. M6=1 LC=1223423545756679

*******/

//得到好友列表

$poststring[] = VER=1.1 CMD=List SEQ= .rand(1000,9000). UIN= .$uin;

$poststring[] = VER=1.1 CMD=List SEQ= .rand(1000,9000). UIN= .$uin. TN=0

$poststring[] = VER=1.1 CMD=List SEQ= .rand(1000,9000). UIN= .$uin. TN=160

$poststring[] = VER=1.1 CMD=List SEQ= .rand(1000,9000). UIN= .$uin. UN=0

$poststring[] = VER=1.1 CMD=List SEQ= .rand(1000,9000). UIN= .$uin. UN= .rand(1,10);

$poststring[] = VER=1.1 CMD=List SEQ= .rand(1000,9000). UIN= .$uin. TN=0 UN=0

$poststring[] = VER=1.1 CMD=List SEQ= .rand(1000,9000). UIN= .$uin. TN=160 UN=0

$poststring[] = VER=1.1 CMD=List SEQ= .rand(1000,9000). UIN= .$uin. TN=160 UN=0

$poststring[] = VER=1.1 CMD=List SEQ= .rand(1000,9000). UIN= .$uin. TN= .rand(1,200). UN=0

$poststring[] = VER=1.1 CMD=List SEQ= .rand(1000,9000). UIN= .$uin. TN= .rand(1,200). UN=0

$poststring[] = VER=1.1 CMD=List SEQ= .rand(1000,9000). UIN= .$uin. TN= .rand(1,200). UN=0

$poststring[] = VER=1.1 CMD=List SEQ= .rand(1000,9000). UIN= .$uin. TN=0 UN= .rand(1,10);

$poststring[] = VER=1.1 CMD=List SEQ= .rand(1000,9000). UIN= .$uin. TN=0 UN= .rand(1,10);

$poststring[] = VER=1.1 CMD=List SEQ= .rand(1000,9000). UIN= .$uin. TN=0 UN= .rand(1,10);

$poststring[] = VER=1.1 CMD=List SEQ= .rand(1000,9000). UIN= .$uin. TN=0 UN=106814

//得到在線列表

$poststring[] = VER=1.1 CMD=Query_Stat SEQ= .rand(1000,9000). UIN= .$uin;

$poststring[] = VER=1.1 CMD=Query_Stat SEQ= .rand(1000,9000). UIN= .$uin. TN=0

$poststring[] = VER=1.1 CMD=Query_Stat SEQ= .rand(1000,9000). UIN= .$uin. TN=160

$poststring[] = VER=1.1 CMD=Query_Stat SEQ= .rand(1000,9000). UIN= .$uin. UN=0

$poststring[] = VER=1.1 CMD=Query_Stat SEQ= .rand(1000,9000). UIN= .$uin. UN= .rand(1,10);

$poststring[] = VER=1.1 CMD=Query_Stat SEQ= .rand(1000,9000). UIN= .$uin. TN=0 UN=0

$poststring[] = VER=1.1 CMD=Query_Stat SEQ= .rand(1000,9000). UIN= .$uin. TN=160 UN=0

$poststring[] = VER=1.1 CMD=Query_Stat SEQ= .rand(1000,9000). UIN= .$uin. TN=160 UN=0

$poststring[] = VER=1.1 CMD=Query_Stat SEQ= .rand(1000,9000). UIN= .$uin. TN= .rand(1,200). UN=0

$poststring[] = VER=1.1 CMD=Query_Stat SEQ= .rand(1000,9000). UIN= .$uin. TN= .rand(1,200). UN=0

$poststring[] = VER=1.1 CMD=Query_Stat SEQ= .rand(1000,9000). UIN= .$uin. TN= .rand(1,200). UN=0

$poststring[] = VER=1.1 CMD=Query_Stat SEQ= .rand(1000,9000). UIN= .$uin. TN=0 UN= .rand(1,10);

$poststring[] = VER=1.1 CMD=Query_Stat SEQ= .rand(1000,9000). UIN= .$uin. TN=0 UN= .rand(1,10);

$poststring[] = VER=1.1 CMD=Query_Stat SEQ= .rand(1000,9000). UIN= .$uin. TN=0 UN= .rand(1,10);

$poststring[] = VER=1.1 CMD=Query_Stat SEQ= .rand(1000,9000). UIN= .$uin. TN=0 UN=106814

//查看好友信息

$poststring[] = VER=1.1 CMD=GetInfo SEQ= .rand(1000,9000). UIN= .$uin. LV=0 UN=106814

$poststring[] = VER=1.1 CMD=GetInfo SEQ= .rand(1000,9000). UIN= .$uin. LV=1 UN=106814

$poststring[] = VER=1.1 CMD=GetInfo SEQ= .rand(1000,9000). UIN= .$uin. LV=2 UN=106814

$poststring[] = VER=1.1 CMD=GetInfo SEQ= .rand(1000,9000). UIN= .$uin. LV=3 UN=106814

$poststring[] = VER=1.1 CMD=GetInfo SEQ= .rand(1000,9000). UIN= .$uin. LV=4 UN=106814

$poststring[] = VER=1.1 CMD=GetInfo SEQ= .rand(1000,9000). UIN= .$uin. LV=5 UN=106814

//增加好友

$poststring[] = VER=1.1 CMD=AddToList SEQ= .rand(1000,9000). UIN= .$uin. UN=106814

//發送驗證

$poststring[] = VER=1.1 CMD=Ack_AddToList SEQ= .rand(1000,9000). UIN= .$uin. UN=106814 CD=0 RS=TEST

$poststring[] = VER=1.1 CMD=Ack_AddToList SEQ= .rand(1000,9000). UIN= .$uin. UN=106814 CD=1 RS=TEST

$poststring[] = VER=1.1 CMD=Ack_AddToList SEQ= .rand(1000,9000). UIN= .$uin. UN=106814 CD=2 RS=TEST

$poststring[] = VER=1.1 CMD=Ack_AddToList SEQ= .rand(1000,9000). UIN= .$uin. UN=106814 CD=3 RS=TEST

$poststring[] = VER=1.1 CMD=Ack_AddToList SEQ= .rand(1000,9000). UIN= .$uin. UN=106814 CD=4 RS=TEST

$poststring[] = VER=1.1 CMD=Ack_AddToList SEQ= .rand(1000,9000). UIN= .$uin. UN=106814 CD=5 RS=TEST

//刪除好友

$poststring[] = VER=1.1 CMD=DelFromList SEQ= .rand(1000,9000). UIN= .$uin. UN=106814

//改變狀態

for($i=0;$i $i=$i+5)

{

$poststring[] = VER=1.1 CMD=Change_Stat SEQ= .rand(1000,9000). UIN= .$uin. ST= .$i;

}

//獲得消息

$poststring[] = VER=1.1 CMD=GetMsgEx SEQ= .rand(1000,9000). UIN= .$uin.

//發送消息

$poststring[] = VER=1.1 CMD=CLTMSG SEQ= .rand(1000,9000). UIN= .$uin. UN=106814 MG=TEST

//登出

$poststring[] = VER=1.1 CMD=Logout SEQ= .rand(1000,9000). UIN= .$uin.

$file = fopen( p.txt , w

foreach($poststring as $k= $v)

{

ss_timing_start();

$fp = fsockopen( tqq.tencent.com , 8000 , $errno, $errstr, $timeout = 10);

if(!$fp){

//error tell us

$content = $k.chr(13).chr(10). ERROR:$errstr ($errno)

}else{

//send the server request

fputs($fp, POST HTTP/1.1

// fputs($fp, Host: $host

// fputs($fp, Content-type: application/x-www-form-urlencoded

fputs($fp, Content-length: .strlen($v).

fputs($fp, Connection: close

fputs($fp, $v .

//loop through the response from the server

$res =

while(!feof($fp)) {

$res .= fgets($fp, 4096);

}

//close fp - we are done with it

fclose($fp);

$content = $v.chr(13).chr(10).$res;

}

ss_timing_stop();

$content .= chr(13).chr(10). Time: .ss_timing_html' target='_blank'>current().chr(13).chr(10). -------------------------------------- .chr(13).chr(10);

fputs($file,$content);

}

fclose($file);

?

function ss_timing_start ($name = default ) {

global $ss_timing_start_times;

$ss_timing_start_times[$name] = explode( , microtime());

}

function ss_timing_stop ($name = default ) {

global $ss_timing_stop_times;

$ss_timing_stop_times[$name] = explode( , microtime());

}

function ss_timing_current ($name = default ) {

global $ss_timing_start_times, $ss_timing_stop_times;

if (!isset($ss_timing_start_times[$name])) {

return 0;

}

if (!isset($ss_timing_stop_times[$name])) {

$stop_time = explode( , microtime());

}

else {

$stop_time = $ss_timing_stop_times[$name];

}

$current = $stop_time[1]-$ss_timing_start_times[$name][1];

$current += $stop_time[0]-$ss_timing_start_times[$name][0];

return $current;

}

?
html教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲美女av在线| 最近2019中文字幕mv免费看| 热久久免费国产视频| 国内精品在线一区| 亚洲有声小说3d| 九九热在线精品视频| 亚洲中国色老太| 亚洲色图在线观看| 91精品国产高清久久久久久久久| 亚洲午夜性刺激影院| 亚洲成年人在线播放| 性欧美xxxx视频在线观看| 在线观看日韩欧美| 国产999精品久久久影片官网| 国产精品久久视频| 欧美性生活大片免费观看网址| 色综合色综合网色综合| 亚洲精品小视频在线观看| 日韩在线国产精品| 欧美自拍大量在线观看| 日本久久中文字幕| 成人黄色av播放免费| 日韩国产欧美精品在线| 欧美日韩国产色| 久久国产精品网站| 91精品国产综合久久香蕉的用户体验| 欧美激情视频一区| 伊人亚洲福利一区二区三区| 欧美激情18p| 色偷偷噜噜噜亚洲男人| 久久久精品网站| 97视频网站入口| 最近2019中文字幕mv免费看| 日本久久中文字幕| 91精品国产综合久久香蕉的用户体验| 国产精品视频免费观看www| 在线亚洲欧美视频| 午夜精品国产精品大乳美女| 神马久久久久久| 亚洲免费视频在线观看| 一级做a爰片久久毛片美女图片| 97超级碰在线看视频免费在线看| 欧美视频在线免费| 色综合亚洲精品激情狠狠| 中文欧美在线视频| 尤物tv国产一区| 欧美精品电影免费在线观看| 亚洲国产天堂网精品网站| 2019亚洲日韩新视频| 97精品视频在线| 日韩av在线免费看| 欧美日韩国产在线播放| 久久综合免费视频影院| 超薄丝袜一区二区| 欧美裸身视频免费观看| 国产97在线|日韩| 黄色精品一区二区| 国内精久久久久久久久久人| 国产亚洲精品久久久久久777| 成人在线中文字幕| 欧美激情在线观看视频| 91精品视频在线免费观看| 亚洲一区第一页| 中文字幕成人在线| 亚洲精品第一页| 日本一区二区三区在线播放| 亚洲国产成人精品一区二区| 精品国产区一区二区三区在线观看| 全球成人中文在线| 亚洲欧美国产精品| 亚洲天堂第一页| 国产精品91久久| 久久精品视频一| 欧美在线一级va免费观看| 日产精品久久久一区二区福利| 久久久av亚洲男天堂| 欧美专区中文字幕| 欧美日韩国产成人在线观看| 国产不卡在线观看| 国产在线一区二区三区| 亚洲精品国产拍免费91在线| 中文字幕av一区二区| 亚洲人成免费电影| 欧美高清无遮挡| 亚洲sss综合天堂久久| 中文字幕日韩在线视频| 中文字幕一区日韩电影| 亚洲欧美激情一区| 日韩成人激情视频| 欧美激情乱人伦| 亚洲色图偷窥自拍| 久久男人av资源网站| 日韩二区三区在线| 另类美女黄大片| 亚洲已满18点击进入在线看片| 丁香五六月婷婷久久激情| 久久国产精品久久久久久| 欧美日韩午夜视频在线观看| 国产在线播放不卡| 在线播放日韩专区| 成人妇女淫片aaaa视频| 亚洲精品在线视频| 91亚洲精品视频| 久久久久国产精品免费网站| xvideos成人免费中文版| 欧美激情久久久| 中文字幕亚洲二区| 国产精品三级美女白浆呻吟| 国产精品777| 黄色成人在线免费| 久久资源免费视频| 欧美激情区在线播放| 成人福利视频网| 中文字幕成人精品久久不卡| 国产在线一区二区三区| 精品香蕉在线观看视频一| 亚洲天堂一区二区三区| 美日韩在线视频| 九九九久久国产免费| 亚洲精品一区中文| 91手机视频在线观看| 欧美激情亚洲一区| 亚洲一区二区三区在线免费观看| 成人字幕网zmw| 午夜精品久久久久久久白皮肤| 亚洲va欧美va在线观看| 亚洲一区中文字幕在线观看| 亚洲理论在线a中文字幕| 国产精品揄拍500视频| 精品中文字幕久久久久久| 久久精品99国产精品酒店日本| 亚洲免费电影一区| 亚洲国产精久久久久久| 欧美中文字幕第一页| 欧美精品中文字幕一区| 国产精品一区二区性色av| 欧美第一黄网免费网站| 国产精品国产福利国产秒拍| 久久这里只有精品99| 69视频在线免费观看| 欧美激情亚洲激情| 精品久久久久久中文字幕一区奶水| www.欧美精品| 国产精品国产三级国产专播精品人| 福利视频一区二区| 午夜精品www| 久久亚洲影音av资源网| 一区二区国产精品视频| 久久久久国产精品www| 懂色aⅴ精品一区二区三区蜜月| 亚洲大胆人体视频| 欧美一级视频在线观看| 国内精品久久影院| 亚州av一区二区| 亚洲精品aⅴ中文字幕乱码| 亚洲a∨日韩av高清在线观看| 久久精品亚洲热| 欧美成人精品在线播放| 26uuu另类亚洲欧美日本一| 色悠久久久久综合先锋影音下载| 精品国产电影一区| 一本色道久久88综合日韩精品| 欧美一区二区三区艳史| 亚洲2020天天堂在线观看|