public void Sync(SyncKey syncKey, string pass_ticket, BaseRequest baseReq, Action <SyncResponse> CallBack)
        {
            string url = "https://wx2.qq.com/cgi-bin/mmwebwx-bin/webwxsync?sid={0}&skey={1}&lang=zh_CN&pass_ticket={2}";

            url = string.Format(url, baseReq.Sid, baseReq.Skey, pass_ticket);
            SyncRequest req = new SyncRequest
            {
                BaseRequest = baseReq,
                SyncKey     = syncKey,
                rr          = ~GetR()
            };
            string requestJson = JsonConvert.SerializeObject(req);

            http.Item.Request.HeadersDic["Accept"] = "application/json, text/plain, */*";
            http.Item.Request.HeadersDic["Origin"] = "https://wx2.qq.com";
            http.GetHtml(url, "post", requestJson, referer: "https://wx2.qq.com/", callBack: (x) => {
                var repJsonStr = x.response.DataString();
                if (repJsonStr == null)
                {
                    CallBack?.Invoke(null);
                }
                var rep = JsonConvert.DeserializeObject <SyncResponse>(repJsonStr);
                CallBack?.Invoke(rep);
            });
        }
Beispiel #2
0
        public SyncResponse Sync(SyncKey syncKey, string pass_ticket, BaseRequest baseReq)
        {
            SetHttpHeader("Accept", "application/json, text/plain, */*");
            SetHttpHeader("Connection", "keep-alive");
            SetHttpHeader("Accept-Encoding", "gzip, deflate, br");
            SetHttpHeader("Origin", "https://wx2.qq.com");

            string url = "https://wx2.qq.com/cgi-bin/mmwebwx-bin/webwxsync?sid={0}&skey={1}&lang=zh_CN&pass_ticket={2}";

            url = string.Format(url, baseReq.Sid, baseReq.Skey, pass_ticket);
            SyncRequest req = new SyncRequest
            {
                BaseRequest = baseReq,
                SyncKey     = syncKey,
                rr          = ~GetR()
            };
            string requestJson = JsonConvert.SerializeObject(req);
            string repJsonStr  = PostString(url, requestJson);

            if (repJsonStr == null)
            {
                return(null);
            }
            var rep = JsonConvert.DeserializeObject <SyncResponse>(repJsonStr);



            return(rep);
        }
Beispiel #3
0
        public SyncResponse Sync(SyncKey syncKey, string pass_ticket, BaseRequest baseReq)
        {
            string url = "https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxsync?sid={0}&skey={1}&lang=zh_CN&pass_ticket={2}";

            url = string.Format(url, baseReq.Sid, baseReq.Skey, pass_ticket);
            SyncRequest req = new SyncRequest();

            req.BaseRequest = baseReq;
            req.SyncKey     = syncKey;
            req.rr          = getTimestamp(DateTime.Now);
            string requestJson = JsonConvert.SerializeObject(req);
            string repJsonStr  = http.POST_UTF8String(url, requestJson);
            var    rep         = JsonConvert.DeserializeObject <SyncResponse>(repJsonStr);

            return(rep);
        }