Exemplo n.º 1
0
        /// <summary>
        /// 获取验证码
        /// </summary>
        public Tuple <int, string, Stream> GetValidateCode()
        {
            var    code    = 888;
            string imgName = string.Empty;
            Stream stream  = null;

            try
            {
                //RequestPackage request = new RequestPackage("/otn/login/init");
                //ArrayList list = TrainHttpContext.GetHtmlData(request);
                //if (list.Count == 3)
                //{
                RequestPackage request = new RequestPackage();
                request.RequestURL = "/passport/captcha/captcha-image";
                request.Params.Add("login_site", "E");
                request.Params.Add("module", "login");
                request.Params.Add("rand", "sjrand");
                request.Params.Add("0.21660476430599007", "");
                imgName = Guid.NewGuid().ToString() + ".png";
                stream  = TrainHttpContext.DownloadCode(request);
                string url = @"..\Material\Img\code";
                SaveValidateCode(stream, url);
                //}
                //else

                //{
                //    Log.Write(LogLevel.Info, "请求/otn/login/init失败");
                //}
            }
            catch (Exception ex)
            {
                Log.Write(LogLevel.Error, ex.Message, ex);
            }
            return(new Tuple <int, string, Stream>(code, imgName, stream));
        }
Exemplo n.º 2
0
        /// <summary>
        /// 获取验证码
        /// </summary>
        public Tuple <int, string> GetValidateCode(string url)
        {
            var    code = 888;
            string path = string.Empty;

            try
            {
                RequestPackage request = new RequestPackage("/otn/login/init");
                ArrayList      list    = TrainHttpContext.GetHtmlData(request);
                if (list.Count == 3)
                {
                    request.RequestURL = "/passport/captcha/captcha-image";
                    request.Params.Add("login_site", "E");
                    request.Params.Add("module", "login");
                    request.Params.Add("rand", "sjrand");
                    request.Params.Add("0.21660476430599007", "");
                    using (Stream stream = TrainHttpContext.DownloadCode(request))
                    {
                        path = list[2] + ".png";
                        if (SaveValidateCode(stream, Path.Combine(url, path)))
                        {
                            code = 0;
                        }
                    }
                }
                else
                {
                    Log.Write(LogLevel.Info, "请求/otn/login/init失败");
                }
            }
            catch (Exception ex)
            {
                Log.Write(LogLevel.Error, ex.Message, ex);
            }
            return(new Tuple <int, string>(code, path));
        }