private async void DoLogin()
        {
            client = new S1WebClient();

            client.AddPostParam(stepKey, 2);
            client.AddPostParam(loginTypeKey, loginType);
            client.AddPostParam(userKey, testUser);
            client.AddPostParam(passKey, testPass);
            client.AddPostParam(cktimeKey, cktime);
            Result = await client.PostDataTaskAsync(new Uri(loginUrl));
            foreach (Cookie c in client.Cookies)
                if (c.Name.Contains("uid")) Uid = c.Value;

            if (OnUpdateView != null) OnUpdateView(Result);
        }
        private async void DoTest()
        {
            client = new S1WebClient();
            int fid = 2;
            //client.Headers[HttpRequestHeader.Referer] = "http://192.168.0.113:8080/phpwind/read.php?tid=1";
            //client.AddPostParam("replytouser", "asdf");
            //client.AddPostParam("cyid", "1");
            //client.AddPostParam("iscontinue", "0");
            //client.AddPostParam("atc_desc1", "");
            //client.AddPostParam("_hexie", "36c309f2");
            client.AddPostParam("atc_title", "12345");
            client.AddPostParam("verify", verify);
            client.AddPostParam("atc_usesign", "1");
            client.AddPostParam("atc_convert", "1");
            client.AddPostParam("atc_autourl", "1");
            client.AddPostParam("stylepath", "wind");

            client.AddPostParam(stepKey, 2);
            client.AddPostParam("action", "reply");
            client.AddPostParam("fid", fid);
            client.AddPostParam("tid", "1");
            client.AddPostParam("ajax", "1");

            client.AddPostParam("atc_content", "[s:13] test from client @" + DateTime.Now.ToShortTimeString() + deviceInfo);

            Result = await client.PostDataTaskAsync(new Uri(postFormatString + fid));
            //Result = await client.PostMultipartTaskAsync(new Uri(postUrl));
            string error = "";
            var match =resultPattern.Match(Result);
            if (match.Success)
                error = match.Groups["data"].Value;
            if (error.Length < 200)
                Debug.WriteLine(error);

            if (OnUpdateView != null) OnUpdateView(Result + ConvertExtendedASCII(error));
        }