Пример #1
0
        public QQHttpRequest CreateHttpRequest(string method, string url)
        {
            QQHttpRequest req = new QQHttpRequest(url, method);

            req.AddHeader("User-Agent", _userAgent ?? QQConstants.USER_AGENT);
            req.AddHeader("Referer", QQConstants.REFFER);
            return(req);
        }
Пример #2
0
        public override QQHttpRequest OnBuildRequest()
        {
            IHttpService httpService = Context.GetSerivce <IHttpService>(QQServiceType.HTTP);
            QQSession    session     = Context.Session;
            Random       rand        = new Random();

            if (session.ClientId == 0)
            {
                session.ClientId = new Random().Next(1000000, 9999999); //random??
            }

            JObject json = new JObject();

            json.Add("ptwebqq", httpService.GetCookie("ptwebqq", QQConstants.URL_CHANNEL_LOGIN).Value);
            json.Add("clientid", session.ClientId.ToString());
            json.Add("psessionid", session.SessionId);
            json.Add("status", _status.Value);
            json.Add("passwd_sig", "");
            QQHttpRequest req = CreateHttpRequest("POST", QQConstants.URL_CHANNEL_LOGIN);

            req.AddPostValue("r", JsonConvert.SerializeObject(json));
            req.AddPostValue("clientid", session.ClientId + "");
            req.AddPostValue("psessionid", session.SessionId ?? "null");
            req.AddHeader("Referer", QQConstants.REFFER);
            return(req);
        }
Пример #3
0
        public override QQHttpRequest OnBuildRequest()
        {
            // r:{"to":2982077931,"face":0,"content":"[\"123\",[\"face\",1],\"456\",[\"face\",0],\"\",\"\\n【提示:此用户正在使用Q+ Web:http://web.qq.com/】\",[\"font\",{\"name\":\"微软雅黑\",\"size\":\"11\",\"style\":[0,0,0],\"color\":\"ffcc99\"}]]","msg_id":91310001,"clientid":"74131454","psessionid":"8368046764001e636f6e6e7365727665725f77656271714031302e3133332e34312e3230320000230700001f01026e04002aafd23f6d0000000a40484a526f4866467a476d00000028d954c71693cd99ae8c0c64b651519e88f55ce5075140346da7d957f3abefb51d0becc25c425d7cf5"}
            // r:{"group_uin":3408869879,"content":"[\"群消息发送测试\",[\"face\",13],\"\",\"\\n【提示:此用户正在使用Q+ Web:http://web.qq.com/】\",[\"font\",{\"name\":\"微软雅黑\",\"size\":\"11\",\"style\":[0,0,0],\"color\":\"ffcc99\"}]]","msg_id":91310002,"clientid":"74131454","psessionid":"8368046764001e636f6e6e7365727665725f77656271714031302e3133332e34312e3230320000230700001f01026e04002aafd23f6d0000000a40484a526f4866467a476d00000028d954c71693cd99ae8c0c64b651519e88f55ce5075140346da7d957f3abefb51d0becc25c425d7cf5"}
            // clientid、psessionid

            QQSession     session = Context.Session;
            JObject       json    = new JObject();
            QQHttpRequest req     = null;

            if (msg.Type == QQMsgType.BUDDY_MSG)
            {
                req = CreateHttpRequest("POST", QQConstants.URL_SEND_BUDDY_MSG);
                json.Add("to", msg.To.Uin);
                json.Add("face", 0); // 这个是干嘛的??
            }
            else if (msg.Type == QQMsgType.GROUP_MSG)
            {
                req = CreateHttpRequest("POST", QQConstants.URL_SEND_GROUP_MSG);
                json.Add("group_uin", msg.Group.Gin);
                json.Add("key", session.CfaceKey);
                json.Add("sig", session.CfaceSig);
            }
            else if (msg.Type == QQMsgType.DISCUZ_MSG)
            {
                req = CreateHttpRequest("POST", QQConstants.URL_SEND_DISCUZ_MSG);
                json.Add("did", msg.Discuz.Did);
                json.Add("key", session.CfaceKey);
                json.Add("sig", session.CfaceSig);
            }
            else if (msg.Type == QQMsgType.SESSION_MSG)
            {   // 临时会话消息
                req = CreateHttpRequest("POST", QQConstants.URL_SEND_SESSION_MSG);
                QQStranger member = (QQStranger)msg.To;
                json.Add("to", member.Uin);
                json.Add("face", 0); // 这个是干嘛的??
                json.Add("group_sig", member.GroupSig);
                json.Add("service_type", member.ServiceType + "");
            }
            else
            {
                MyLogger.Default.Warn("unknown MsgType: " + msg.Type);
            }

            json.Add("content", msg.PackContentList());
            json.Add("msg_id", ++_msgId);
            json.Add("clientid", session.ClientId);
            json.Add("psessionid", session.SessionId);

            req.AddPostValue("r", JsonConvert.SerializeObject(json));
            req.AddPostValue("clientid", session.ClientId + "");
            req.AddPostValue("psessionid", session.SessionId);
            req.AddHeader("Referer", QQConstants.REFFER);

            // System.out.println("sendMsg: " + JsonConvert.SerializeObject(json));
            return(req);
        }
Пример #4
0
        public override QQHttpRequest OnBuildRequest()
        {
            QQSession session = Context.Session;

            QQHttpRequest req = CreateHttpRequest("GET",
                                                  QQConstants.URL_GET_ONLINE_BUDDY_LIST);

            req.AddGetValue("clientid", session.ClientId + "");
            req.AddGetValue("psessionid", session.SessionId);
            req.AddGetValue("t", DateUtils.NowTimestamp() / 1000 + "");
            req.AddHeader("Referer", QQConstants.REFFER);
            return(req);
        }
Пример #5
0
        public override QQHttpRequest OnBuildRequest()
        {
            QQSession     session = Context.Session;
            QQHttpRequest req     = CreateHttpRequest("GET", QQConstants.URL_SHAKE_WINDOW);

            req.AddGetValue("to_uin", user.Uin + "");
            req.AddGetValue("psessionid", session.SessionId);
            req.AddGetValue("clientid", session.ClientId + "");
            req.AddGetValue("t", DateUtils.NowTimestamp() + "");

            req.AddHeader("Referer", QQConstants.REFFER);
            return(req);
        }
Пример #6
0
        public override QQHttpRequest OnBuildRequest()
        {
            QQSession session = Context.Session;

            QQHttpRequest req = CreateHttpRequest("GET",
                                                  QQConstants.URL_GET_USER_SIGN);

            req.AddGetValue("tuin", buddy.Uin + "");
            req.AddGetValue("vfwebqq", session.Vfwebqq);
            req.AddGetValue("t", DateUtils.NowTimestamp() / 1000 + "");

            req.AddHeader("Referer", QQConstants.REFFER);
            return(req);
        }
Пример #7
0
        public override QQHttpRequest OnBuildRequest()
        {
            QQSession session = Context.Session;

            QQHttpRequest req = CreateHttpRequest("GET",
                                                  QQConstants.URL_CUSTOM_FACE_SIG);

            req.AddGetValue("clientid", session.ClientId + "");
            req.AddGetValue("psessionid", session.SessionId);
            req.AddGetValue("t", DateTime.Now.CurrentTimeMillis() / 1000 + "");

            req.AddHeader("Referer", QQConstants.REFFER);
            return(req);
        }
Пример #8
0
        public override QQHttpRequest OnBuildRequest()
        {
            QQSession session = Context.Session;

            QQHttpRequest req = CreateHttpRequest("GET", QQConstants.URL_LOGOUT);

            req.AddGetValue("ids", ""); // 产生过会话才出现ID,如何获取??
            req.AddGetValue("clientid", session.ClientId + "");
            req.AddGetValue("psessionid", session.SessionId);
            req.AddGetValue("t", DateUtils.NowTimestamp() / 1000 + "");

            req.AddHeader("Referer", QQConstants.REFFER);
            return(req);
        }
Пример #9
0
        public override QQHttpRequest OnBuildRequest()
        {
            QQSession session = this.Context.Session;

            QQHttpRequest req = CreateHttpRequest("GET",
                                                  QQConstants.URL_CHANGE_STATUS);

            req.AddGetValue("newstatus", _status.Value);
            req.AddGetValue("clientid", session.ClientId + "");
            req.AddGetValue("psessionid", session.SessionId);
            req.AddGetValue("t", DateTime.Now.CurrentTimeMillis() / 1000 + "");

            req.AddHeader("Referer", QQConstants.REFFER);
            return(req);
        }
Пример #10
0
        public override QQHttpRequest OnBuildRequest()
        {
            QQSession     session = Context.Session;
            QQHttpRequest req     = CreateHttpRequest("GET", QQConstants.URL_GET_USER_FACE);

            req.AddGetValue("uin", user.Uin + "");
            req.AddGetValue("vfwebqq", session.Vfwebqq);
            req.AddGetValue("t", DateUtils.NowTimestamp() / 1000 + "");
            req.AddGetValue("cache", 0 + ""); // ??
            req.AddGetValue("type", 1 + "");  // ??
            req.AddGetValue("fid", 0 + "");   // ??

            req.AddHeader("Referer", QQConstants.REFFER);
            return(req);
        }
Пример #11
0
        public override QQHttpRequest OnBuildRequest()
        {
            QQHttpRequest req = CreateHttpRequest("GET", QQConstants.URL_EMAIL_POLL);

            req.AddGetValue("r", new Random().NextDouble() + "");
            req.AddGetValue("u", Context.Account.Username);
            req.AddGetValue("s", "7");
            req.AddGetValue("k", sid);
            req.AddGetValue("t", t + "");
            req.AddGetValue("i", "30");
            req.AddGetValue("r", new Random().NextDouble() + "");
            req.ReadTimeout    = 70 * 1000;
            req.ConnectTimeout = 10 * 1000;
            req.AddHeader("Referer", "http://wp.mail.qq.com/ajax_proxy.html?mail.qq.com&v=110702");
            return(req);
        }
Пример #12
0
        public override QQHttpRequest OnBuildRequest()
        {
            QQSession session = Context.Session;

            QQHttpRequest req = CreateHttpRequest("POST", QQConstants.URL_ACCEPET_BUDDY_ADD);

            JObject json = new JObject();

            json.Add("account", _account);
            json.Add("gid", "0");
            json.Add("mname", "");
            json.Add("vfwebqq", session.Vfwebqq);
            req.AddPostValue("r", json.ToString());
            req.AddHeader("Referer", QQConstants.REFFER);
            return(req);
        }
Пример #13
0
        public override QQHttpRequest OnBuildRequest()
        {
            QQSession session = Context.Session;
            // tuin=4245757755&verifysession=&type=1&code=&vfwebqq=**&t=1361631644492
            QQHttpRequest req = CreateHttpRequest("GET",
                                                  QQConstants.URL_GET_USER_ACCOUNT);

            req.AddGetValue("tuin", buddy.Uin + "");
            req.AddGetValue("vfwebqq", session.Vfwebqq);
            req.AddGetValue("t", DateUtils.NowTimestamp() / 1000 + "");
            req.AddGetValue("verifysession", ""); // 验证码??
            req.AddGetValue("type", 1 + "");
            req.AddGetValue("code", "");

            req.AddHeader("Referer", QQConstants.REFFER);
            return(req);
        }
Пример #14
0
        public override QQHttpRequest OnBuildRequest()
        {
            IHttpService httpService = Context.GetSerivce<IHttpService>(QQServiceType.HTTP);
            QQHttpCookie ptwebqq = httpService.GetCookie("ptwebqq", QQConstants.URL_GET_USER_CATEGORIES);
            QQSession session = Context.Session;
            QQAccount account = Context.Account;

            JObject json = new JObject();
            json.Add("vfwebqq", session.Vfwebqq);
            json.Add("hash", QQEncryptor.GetHash(account.Uin + "", ptwebqq.Value));

            QQHttpRequest req = CreateHttpRequest("POST",
                    QQConstants.URL_GET_GROUP_NAME_LIST);
            req.AddPostValue("r", JsonConvert.SerializeObject(json));

            req.AddHeader("Referer", QQConstants.REFFER);

            return req;
        }
Пример #15
0
        public override QQHttpRequest OnBuildRequest()
        {
            /*
             *  tuin	236557647
             *  verifysession
             *  code
             *  vfwebqq	efa425e6afa21b3ca3ab8db97b65afa0535feb4af47a38cadcf1a4b1650169b4b4eee9955f843990
             *  t	1346856270187
             */
            QQSession     session = Context.Session;
            QQHttpRequest req     = CreateHttpRequest("GET", QQConstants.URL_GET_FRIEND_INFO);

            req.AddGetValue("tuin", buddy.Uin + "");
            req.AddGetValue("verifysession", "");       //难道有验证码???
            req.AddGetValue("code", "");
            req.AddGetValue("vfwebqq", session.Vfwebqq);
            req.AddGetValue("t", DateUtils.NowTimestamp() / 1000 + "");

            req.AddHeader("Referer", QQConstants.REFFER);
            return(req);
        }