Example #1
0
        void LoginAccountWithVerifyCode(Dictionary<int,Point> selectIcon,VerifyCode param,string url) 
        {//提取选择的验证码图片坐标
            List<string> px = new List<string>();
            // image  x=290 y:190
            foreach (KeyValuePair<int,Point> item in selectIcon)
            {
                px.Add(item.Value.X + "," + item.Value.Y);
            }
            string select = string.Join(",", px);
            param.answer = select;
            string json = param.ConvertJson();
            string head = @"Accept:application/json, text/javascript, */*; q=0.01
Accept-Encoding:gzip, deflate, br
Accept-Language:zh-CN,zh;q=0.8
Connection:keep-alive
Content-Length:51
Content-Type:application/x-www-form-urlencoded; charset=UTF-8
Host:kyfw.12306.cn
Origin:https://kyfw.12306.cn
Referer:https://kyfw.12306.cn/otn/login/init
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36
X-Requested-With:XMLHttpRequest";
            string cookie = string.Empty;
            if (!string.IsNullOrEmpty(Init12306Cookie.Cookie))
            {
                cookie = Init12306Cookie.Cookie;
            }
            if (string.IsNullOrEmpty(cookie))
            {
                // HttpClientExtend.HttpClientGet(cookieURl,true);//提取的cookie不完整
                HttpClientExtend.DoWebGetRequest(Init12306Url, true);
                cookie = HttpClientExtend.CookieStr;//这是系统随机返回的cookie,需要补充cookie
                LoggerWriter.CreateLogFile(cookie, LogDir, ELogType.HttpResponse);
            }
            
            StringBuilder sb = new StringBuilder(head);
            sb.AppendLine("\r\nCookie:" + cookie);
            string answer = HttpClientExtend.RunPosterContainerHeaderHavaParam(url, sb.ToString(), json);
            LoggerWriter.CreateLogFile(answer, LogDir, ELogType.HttpResponse, typeof(WebDataCaptureForm).Name);
            lsbTip.Items.Add(answer);
        }