Beispiel #1
0
        private WxContactAllResult executeGetContactAllHttpTask(string host, WxAccount wxAccount)
        {
            try
            {
                HttpTask ht = syncCreateHttpTask(WxHtpUtil.GetContactAllParams(host, wxAccount));
                return(ht.ExecuteJson <WxContactAllResult>());
            }
            catch { }

            return(null);
        }
Beispiel #2
0
        private string executeLogout(string host, string skey, string uin, string sid)
        {
            try
            {
                HttpTask ht = new HttpTask(WxHtpUtil.GetLogout(host, skey, uin, sid));
                ht.SetCustomCookieContainer(mCookieContainer);
                return(ht.ExecuteString());
            }
            catch { }

            return(null);
        }
Beispiel #3
0
        /// <summary> 检测登录二维码扫描状态 </summary>
        /// <param name="uid"></param>
        private WxLoginScanResult executeLoginScanHttpTask(string uid)
        {
            try
            {
                string tip = "1";
                while (true)
                {
                    HttpTask ht = syncCreateHttpTask(WxHtpUtil.GetLoginScanParams(uid, tip));
                    if (ht == null)
                    {
                        return(null);
                    }

                    WxLoginScanResult result = WxRespUtil.ParseLoginScanResp(ht.ExecuteString());
#if Debug
                    Console.WriteLine("wx login scan result =" + (result == null ? "null" : result.Code.ToString()));
#endif
                    if (result == null)
                    {
                    }
                    else if (result.Code == WxResultCode.LOGIN_SCAN_SUCCESS)//201
                    {
                        //已扫描,未登录,这里可以获取头像
                        tip = "0";
                    }
                    else if (result.Code == WxResultCode.LOGIN_SCAN_LOGIN)//200
                    {
                        //点击登录
                        return(result);
                    }
                    else if (result.Code == WxResultCode.LOGIN_SCAN_TIMEOUT)//408
                    {
                        //微信端返的连接超时,继续连接
                    }
                    else if (result.Code == WxResultCode.LOGIN_SCAN_EXPIRED)//400
                    {
                        //二维码过期
                        return(result);
                    }

                    ThreadUtil.Sleep(500);

                    if (!syncCheckLoginingState())
                    {
                        return(null);
                    }
                }
            }
            catch { }

            return(null);
        }
Beispiel #4
0
        private WxLoginInitResult executeLoginInitHttpTask(string host, WxLoginIdsResult loginIdsResult, string deviceId)
        {
            try
            {
                HttpTask ht = syncCreateHttpTask(WxHtpUtil.GetLoginInitParams(host, loginIdsResult, deviceId));
                if (ht != null)
                {
                    return(ht.ExecuteJson <WxLoginInitResult>());
                }
            }
            catch { }

            return(null);
        }
Beispiel #5
0
        private WxSyncMsgResult executeSyncMsgHttpTask(string host, WxAccount wxAccount, WxSyncKey wxSyncKey)
        {
            try
            {
                HttpTask ht = syncCreateHttpTask(WxHtpUtil.GetSyncMsgParams(host, wxAccount, wxSyncKey));
                if (ht != null)
                {
                    WxSyncMsgResult result = ht.ExecuteJson <WxSyncMsgResult>();
                    return(result);
                }
            }
            catch { }

            return(null);
        }
Beispiel #6
0
        private WxSyncCheckResult executeSyncCheckHttpTask(string host, WxAccount wxAccount, WxSyncKey wxSyncKey)
        {
            try
            {
                HttpTask ht = syncCreateHttpTask(WxHtpUtil.GetSyncCheckParams(host, wxAccount, wxSyncKey));
                if (ht != null)
                {
                    WxSyncCheckResult result = WxRespUtil.ParseWxSyncKeyResult(ht.ExecuteString());
                    return(result);
                }
            }
            catch { }

            return(null);
        }
Beispiel #7
0
        /// <summary> 获取登录随机uid对应的二维码 </summary>
        /// <param name="uid"></param>
        /// <returns></returns>
        private byte[] executeLoginQrCodeHttpTask(string uid)
        {
            try
            {
                HttpTask ht = syncCreateHttpTask(WxHtpUtil.GetLoginQrCodeParams(uid));
                if (ht != null)
                {
                    byte[] qrCodeBytes = ht.ExecuteBytes();
                    return(qrCodeBytes);
                }
            }
            catch { }

            return(null);
        }
Beispiel #8
0
        /// <summary> 获取登录随机uid </summary>
        /// <returns></returns>
        private WxLoginUidResult executeLoginUidHttpTask()
        {
            try
            {
                HttpTask ht = syncCreateHttpTask(WxHtpUtil.GetLoginUidParams());
                if (ht != null)
                {
                    string resp = ht.ExecuteString();
                    return(WxRespUtil.ParseLoginUidResp(resp));
                }
            }
            catch { }

            return(null);
        }
Beispiel #9
0
        public WxLoginIdsResult executeLoginRedirectUriHttpTask(string redirectUri)
        {
            try
            {
                HttpTask ht = syncCreateHttpTask(WxHtpUtil.GetLoginRedirectUriParams(redirectUri));
                if (ht != null)
                {
                    WxLoginIdsResult result = WxRespUtil.ParseLoginRedirectUriResp(ht.ExecuteString());
                    result.RouteHost  = WxRespUtil.ParseHost(redirectUri);
                    result.DataTicket = ht.GetCookie(string.Format("http://{0}", result.RouteHost), "webwx_data_ticket");
                    return(result);
                }
            }
            catch { }

            return(null);
        }
Beispiel #10
0
        private void executeStatusNotifyHttpTask(string host, WxAccount wxAccount)
        {
            try
            {
                HttpTask ht = syncCreateHttpTask(WxHtpUtil.GetStatusNotify(host, wxAccount));
                if (ht != null)
                {
                    WxSendMsgResult msgResult = ht.ExecuteJson <WxSendMsgResult>();
#if Debug
                    if (msgResult == null)
                    {
                        Console.WriteLine("status notify result = null");
                    }
                    else
                    {
                        Console.WriteLine("status notify result ret code = " + msgResult.BaseResponse.Ret + ", msg id=" + msgResult.MsgID);
                    }
#endif
                }
            }
            catch { }
        }