狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

C# WebQQ協(xié)議群發(fā)機(jī)器人(二)

admin
2016年12月23日 18:56 本文熱度 6352

本文出處http://blog.csdn.net/zhujunxxxxx/ 如需轉(zhuǎn)載請(qǐng)注明出處!

接著上一篇http://blog.csdn.net/zhujunxxxxx/article/details/38931287我講的內(nèi)容

如果有人需要源碼可以聯(lián)系我 qq: 10588690,但是不是無(wú)償提供,請(qǐng)大家理解。

上面實(shí)現(xiàn)的都是與群操作相關(guān)的

接下來是獲取好友信息的方法

[csharp] view plain copy
  1. /// <summary>  
  2.         /// 獲取好友列表信息  
  3.         /// </summary>  
  4.         public void GetFriendList()  
  5.         {  
  6.             Dictionary<string, Object> r = new Dictionary<string, Object>();  
  7.             r.Add("h""hello");  
  8.             r.Add("hash"this.hash);  
  9.             r.Add("vfwebqq"this.vfwebqq);  
  10.             Dictionary<string, Object> data = new Dictionary<string, Object>();  
  11.             data.Add("r", JsonConvert.SerializeObject(r));  
  12.             string postdata = Tool.MakePostData(data);  
  13.   
  14.             HttpItem item = new HttpItem()  
  15.             {  
  16.                 URL = "http://s.web2.qq.com/api/get_user_friends2",  
  17.                 Method = "POST",  
  18.                 IsToLower = false,  
  19.                 Timeout = 100000,  
  20.                 Postdata = postdata,  
  21.                 Host = HOST[1],  
  22.                 Referer = REFERER[1],  
  23.                 UserAgent = "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.116 Safari/537.36",//用戶的瀏覽器類型,版本,操作系統(tǒng)     可選項(xiàng)有默認(rèn)值     
  24.                 ContentType = "application/x-www-form-urlencoded",  
  25.                 ResultType = ResultType.String  
  26.             };  
  27.             HttpResult result = http.GetHtml(item);  
  28.             JObject ret = (JObject)JsonConvert.DeserializeObject(result.Html);  
  29.             JObject retjson = (JObject)ret["result"];  
  30.             //有備注的好友  
  31.             foreach (JToken jk in retjson["marknames"])  
  32.             {  
  33.                 this.friendlist.Add(jk["uin"].ToString(), jk["markname"].ToString());  
  34.             }  
  35.             //無(wú)備注名的好友  
  36.             foreach (JToken jk in retjson["info"])  
  37.             {  
  38.                 if (!this.friendlist.ContainsKey(jk["uin"].ToString()))  
  39.                     this.friendlist.Add(jk["uin"].ToString(), jk["nick"].ToString());  
  40.             }  
  41.         }  


這個(gè)方法可以獲取到好友的信息,分為兩部分一部分是有備注名的好友信息,一部分是無(wú)備注名的好友信息

把這部分信息保存下來以后有用

獲取一個(gè)具體好友的信息(自己的信息也是通過這個(gè)獲取)

[csharp] view plain copy
  1. public void GetFriendInfo(string tuin)  
  2.        {  
  3.            string url = "http://s.web2.qq.com/api/get_friend_info2?tuin={$tuin}&verifysession=&code=&vfwebqq={$vfwebqq}&t=1402534798024";  
  4.            url = url.Replace("{$vfwebqq}", vfwebqq);  
  5.            url = url.Replace("{$tuin}", tuin);  
  6.   
  7.            HttpItem item = new HttpItem()  
  8.            {  
  9.                URL = url,  
  10.                Encoding = System.Text.Encoding.GetEncoding("utf-8"),  
  11.                Method = "get",  
  12.                IsToLower = false,  
  13.                Timeout = 100000,  
  14.                ReadWriteTimeout = 30000,  
  15.                Host = HOST[1],  
  16.                Referer = REFERER[1],  
  17.                UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:18.0) Gecko/20100101 Firefox/18.0",//用戶的瀏覽器類型,版本,操作系統(tǒng)     可選項(xiàng)有默認(rèn)值     
  18.                ContentType = "application/x-www-form-urlencoded",  
  19.                ResultType = ResultType.String,  
  20.            };  
  21.            HttpResult result = http.GetHtml(item);  
  22.        }  


接下來是向某一個(gè)好友發(fā)送信息

[csharp] view plain copy
  1. public void SendPersonMsg(string tuin,string msg)  
  2.         {  
  3.             string style = "\"{content}\"";  
  4.             string temp = "";  
  5.             temp += style.Replace("{content}", msg) + ",";  
  6.             temp = temp.Substring(0, temp.Length - 1);  
  7.             Random rd = new Random();  
  8.             int msg_id = (rd.Next(100000) + 100000);  
  9.             string content = "[{$msg},\"\",[\"font\",{\"name\":\"宋體\",\"size\":\"10\",\"style\":[0,0,0],\"color\":\"000000\"}]]";  
  10.             content = content.Replace("{$msg}", temp);  
  11.   
  12.   
  13.             Dictionary<string, Object> r = new Dictionary<string, Object>();  
  14.             r.Add("to", tuin);  
  15.             r.Add("face", 561);  
  16.             r.Add("content", content);  
  17.             r.Add("msg_id",msg_id);  
  18.             r.Add("clientid"this.clientid);  
  19.             r.Add("psessionid"this.psessionid);  
  20.             Dictionary<string, Object> data = new Dictionary<string, Object>();  
  21.             data.Add("r", JsonConvert.SerializeObject(r));  
  22.             data.Add("clientid"this.clientid);  
  23.             data.Add("psessionid"this.psessionid);  
  24.             string postdata = Tool.MakePostData(data);  
  25.   
  26.             HttpItem item = new HttpItem()  
  27.             {  
  28.                 URL = "http://d.web2.qq.com/channel/send_buddy_msg2",  
  29.                 Accept = "*/*",  
  30.                 Method = "POST",  
  31.                 IsToLower = false,  
  32.                 KeepAlive = true,  
  33.                 Timeout = 100000,  
  34.                 Postdata = postdata,  
  35.                 Host = HOST[0],  
  36.                 Referer = REFERER[0],  
  37.                 UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2041.4 Safari/537.36",  
  38.                 ContentType = "application/x-www-form-urlencoded",  
  39.                 ResultType = ResultType.String  
  40.             };  
  41.   
  42.             HttpResult result = http.GetHtml(item);  
  43.             JObject ret = (JObject)JsonConvert.DeserializeObject(result.Html);  
  44.         }  

好了,這篇和上一篇文章就基本上實(shí)現(xiàn)了WebQQ的基本功能,

為了保持QQ一直在線我們比如一定時(shí)間向服務(wù)器發(fā)送心跳請(qǐng)求,心跳請(qǐng)求的返回值就是我們收到的消息,這個(gè)是很重要的所以想對(duì)群消息進(jìn)行處理的話都需要在這里處理它

[csharp] view plain copy
  1. public void HeartBreak()  
  2.        {  
  3.            /* 
  4.            Dictionary<string, Object> r = new Dictionary<string, Object>(); 
  5.            r.Add("clientid", this.clientid); 
  6.            r.Add("psessionid", this.psessionid); 
  7.            r.Add("key", 0); 
  8.            r.Add("ids", "[]"); 
  9.            Dictionary<string, Object> data = new Dictionary<string, Object>(); 
  10.            data.Add("r", JsonConvert.SerializeObject(r)); 
  11.            data.Add("clientid", this.clientid); 
  12.            data.Add("psessionid", this.psessionid); 
  13.            string postdata2 = Tool.MakePostData(data); 
  14.            */  
  15.            string postdata = "r=%7B%22clientid%22%3A%22{$clientid}%22%2C%22psessionid%22%3A%22{$psessionid}%22%2C%22key%22%3A0%2C%22ids%22%3A%5B%5D%7D&clientid={$clientid}&psessionid={$psessionid}";  
  16.            postdata=postdata.Replace("{$clientid}",this.clientid);  
  17.            postdata = postdata.Replace("{$psessionid}"this.psessionid);  
  18.            HttpItem item = new HttpItem()  
  19.            {  
  20.                URL = "http://d.web2.qq.com/channel/poll2",  
  21.                Method = "POST",  
  22.                IsToLower = false,  
  23.                Timeout = 100000,  
  24.                Postdata = postdata,  
  25.                Host = HOST[0],  
  26.                Referer = REFERER[0],  
  27.                UserAgent = "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.116 Safari/537.36",//用戶的瀏覽器類型,版本,操作系統(tǒng)     可選項(xiàng)有默認(rèn)值     
  28.                ContentType = "application/x-www-form-urlencoded",  
  29.                ResultType = ResultType.String  
  30.            };  
  31.            HttpResult result = http.GetHtml(item);  
  32.            JObject ret = (JObject)JsonConvert.DeserializeObject(result.Html);  
  33.            JObject retjson = (JObject)ret["result"][0];  
  34.            if (retjson["poll_type"].ToString() == "group_message")  
  35.            {  
  36.                JObject msg = (JObject)retjson["value"];  
  37.                ProcessMsg(msg);  
  38.            }  
  39.            Thread.Sleep(2000);  
  40.   
  41.        }  

在發(fā)送信息的上面還有一些可以拓展的,比如圖片等,我這一部分還沒有研究,如果有誰(shuí)做過的話希望分享一下咯


該文章在 2016/12/23 18:56:47 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved