C# 加群验证

C#加群验证源码

验证方式

登录QQ帐号后查询是否加入了所在群聊
可直接拉出电脑已登录帐号进行快捷登录

首先看效果
在这里插入图片描述

代码展示

   public void Init(Form form)
   {
       formUrl = form;
       chromeBrowser = new ChromiumWebBrowser(“https://xui.ptlogin2.qq.com/cgi-bin/xlogin?pt_disable_pwd=1&appid=715030901&hide_close_icon=1&daid=73&pt_no_auth=1&s_url=https%3A%2F%2Fqun.qq.com%2F”);
       chromeBrowser.Name = "CheckQunWeb";
       formUrl.Controls.Add(chromeBrowser);
       chromeBrowser.Dock = DockStyle.Fill;
       chromeBrowser.BringToFront();

       Thread th = new Thread(WaitCookie);
       th.IsBackground = true; th.Start();

   }
   private void WaitCookie()
   {
       while (true)
       {
           try
           {
               Thread.Sleep(1000);
               Task<CefSharp.JavascriptResponse> t = chromeBrowser.EvaluateScriptAsync("document.cookie");
               t.Wait();

               var cookie = t.Result.Result;
               string cookieStr = cookie.ToString();
               cookieStr = cookieStr.Replace(" ", "");//删除中间多余空格
               string[] cookies = cookieStr.Split(';');
               string uin = "", skey = "", p_uin = "", p_skey = "";
               foreach (string item in cookies)
               {
                   string[] strings = item.Split(new char[] { '=', ';' });
                   switch (strings[0])
                   {
                       case "uin": uin = strings[1]; break;
                       case "skey": skey = strings[1]; break;
                       case "p_uin": p_uin = strings[1]; break;
                       case "p_skey": p_skey = strings[1]; break;
                       default: break;
                   }
               }
               if (uin.Length + skey.Length + p_uin.Length + p_skey.Length > 10)
               {
                   PostSkey(skey, cookieStr);

                   return;
               }
           }
           catch (Exception) { chromeBrowser.LoadUrl(qunUrl); }
       }
   }

        private void PostSkey(string sk, string cookie)
        {
            int t = 5381;
            foreach (char item in sk)
            {
                t += (t << 5) + Convert.ToInt16(item);
            }
            int bknNum = t & 2147483647;
            HttpWebRequest request = HttpWebRequest.CreateHttp(“https://qun.qq.com/cgi-bin/qun_mgr/get_group_list”);
            request.Method = "POST";
            request.ContentType = "application/json";
            request.Headers.Add("Cookie", cookie);
            string bkn = "bkn=" + bknNum.ToString();
            byte[] bytes = Encoding.UTF8.GetBytes(bkn);
            request.ContentLength = bytes.Length;
            Stream resstream = request.GetRequestStream();
            resstream.Write(bytes, 0, bytes.Length);
            resstream.Close();
            HttpWebResponse resp = (HttpWebResponse)request.GetResponse();
            Stream stream = resp.GetResponseStream();
            StreamReader sr = new StreamReader(stream, Encoding.UTF8);
            Console.WriteLine(sr.ReadToEnd());
            //获取到返回的所有群数据
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MJD1937

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值