Esempio n. 1
0
        protected void Login_Click(object sender, RoutedEventArgs e)
        {
            var userName = UserName.Text.Trim();
            var passWord = PassWord.Password.Trim();
            var randCode = RandCode.Text.Trim();

            var postDic = new Dictionary <string, string>();

            postDic.Add("expire", "7");
            postDic.Add("referer", "http://www.jikexueyuan.com/");
            postDic.Add("uname", userName);
            postDic.Add("password", passWord);
            postDic.Add("verify", randCode);

            HttpResponseParameter responseParameter = httpProvider.Excute(new HttpRequestParameter
            {
                Url        = "http://passport.jikexueyuan.com/submit/login?is_ajax=1",
                IsPost     = true,
                Parameters = postDic,
                Cookie     = SessionCookie
            });

            LoginResultEntity loginResult = responseParameter.Body.DeserializeObject <LoginResultEntity>();

            if (loginResult.status == 1)
            {
                // 2.登录成功,保存cookie
                CookieStoreInstance.CurrentCookie = responseParameter.Cookie;
            }
        }
Esempio n. 2
0
        public void TestMethod1()
        {
            var dicPostData = new Dictionary <string, string>();

            dicPostData.Add("username", "skynetfy");
            dicPostData.Add("password", "3447983");
            dicPostData.Add("execution", "e4s1");
            dicPostData.Add("_eventId", "submit");
            dicPostData.Add("lt", "LT-47742-zooQnRZrkzqiz4KrTF61Xbdw1916Qx");

            HttpResponseParameter responseParameter = httpProvider.Excute(new HttpRequestParameter
            {
                Url        = "http://passport.csdn.net/ajax/accounthandler.ashx?t=log&u=skynetfy&p=3447983&remember=0&callback=csdn.login_back&r=1451371217211",
                IsPost     = false,
                Cookie     = SessionCookie,
                Accept     = "*/*",
                UserAgent  = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.93 Safari/537.36",
                RefererUrl = "http://download.csdn.net/download/sy_05/9381944"
            });

            SessionCookie = responseParameter.Cookie;

            var response = httpProvider.Excute(new HttpRequestParameter
            {
                Url       = "http://dl.download.csdn.net/down11/20151229/eaa6473fcb255ba527cef1ad0ee1ae1e.rar?response-content-disposition=attachment%3Bfilename%3DCCC.rar&OSSAccessKeyId=9q6nvzoJGowBj4q1&Expires=1451375339&Signature=YYHS%2FTdgHSqv9WFq9ek2zGK2OlU%3D",
                IsPost    = false,
                Cookie    = SessionCookie,
                Accept    = "*/*",
                UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.93 Safari/537.36",
            });
        }
Esempio n. 3
0
        void Init()
        {
            var dicPostData = new Dictionary <string, string>();

            dicPostData.Add("_json_att", "");
            dicPostData.Add("REPEAT_SUBMIT_TOKEN", CookieStoreInstance.Repeat_Submit_Token);

            HttpResponseParameter responseParameter2 = HttpProvider.Excute(new HttpRequestParameter
            {
                Url        = "https://kyfw.12306.cn/otn/confirmPassenger/getPassengerDTOs",
                IsPost     = true,
                Parameters = dicPostData,
                Cookie     = CookieStoreInstance.CurrentCookie
            });

            HttpJsonResultEntity <QueryPassengerResult> passengerResult = JsonConvert.DeserializeObject <HttpJsonResultEntity <QueryPassengerResult> >(responseParameter2.Body);

            var list  = passengerResult.Data.normal_passengers;
            var _list = new ObservableCollection <Passengers>();

            foreach (var item in list)
            {
                _list.Add(item);
            }

            DataGrid1.ItemsSource = _list;
        }
Esempio n. 4
0
        protected void Login_Click(object sender, RoutedEventArgs e)
        {
            var userName    = UserName.Text.Trim();
            var passWord    = PassWord.Password.Trim();
            var code        = VerCode.Text.Trim();
            var dicPostData = new Dictionary <string, string>();

            dicPostData.Add("client", "www");
            dicPostData.Add("referer", HttpUtility.UrlEncode("http://www.jikexueyuan.com/"));
            dicPostData.Add("uname", userName);
            dicPostData.Add("password", passWord);
            dicPostData.Add("verify", code);

            HttpResponseParameter responseParameter = HttpProvider.Excute(new HttpRequestParameter
            {
                Url        = "http://passport.jikexueyuan.com/submit/login?is_ajax=1",
                IsPost     = true,
                Parameters = dicPostData,
                Cookie     = SessionCookie
            });

            LoginResultEntity loginResult = responseParameter.Body.DeserializeObject <LoginResultEntity>();

            if (loginResult.status == 1)
            {
                // 2.登录成功,保存cookie
                // CookieStoreInstance.CurrentCookie = responseParameter.Cookie;
            }
        }
Esempio n. 5
0
        static void Main(string[] args)
        {
            IHttpProvider httpProvider = new HttpProvider();

            // 1. 模拟一个Get请求方式
            HttpResponseParameter responseParameter1 = httpProvider.Excute(new HttpRequestParameter
            {
                Url      = "http://www.baidu.com",
                IsPost   = false,
                Encoding = Encoding.UTF8
                           //Cookie = new HttpCookieType() 如果需要Cookie
            });

            System.Console.WriteLine(responseParameter1.Body);

            // 2. 模拟一个Post请求方式(例:登录)
            IDictionary <string, string> postData = new Dictionary <string, string>();

            postData.Add("userName", "登录用户名");
            postData.Add("userPwd", "用户名密码");
            HttpResponseParameter responseParameter2 = httpProvider.Excute(new HttpRequestParameter
            {
                Url        = "你的登录url",
                IsPost     = true,
                Encoding   = Encoding.UTF8,
                Parameters = postData
            });

            System.Console.WriteLine(responseParameter2.Body);

            System.Console.ReadLine();
        }
Esempio n. 6
0
 protected void Check_Click(object sender, RoutedEventArgs e)
 {
     HttpResponseParameter responseParameter = httpProvider.Excute(new HttpRequestParameter
     {
         Url    = "http://www.jikexueyuan.com/course/video_download?seq=1&course_id=228",
         IsPost = false,
         Cookie = CookieStoreInstance.CurrentCookie
     });
 }
Esempio n. 7
0
        private void GetSessionCookie()
        {
            HttpResponseParameter responseParameter = httpProvider.Excute(new HttpRequestParameter
            {
                Url    = "http://download.csdn.net/detail/sy_05/9381944",
                IsPost = false
            });

            SessionCookie = responseParameter.Cookie;
        }
Esempio n. 8
0
        static void Main(string[] args)
        {
            IHttpProvider httpProvider = new HttpProvider();

            // 1. 模拟一个Get请求方式
            //HttpResponseParameter responseParameter1 = httpProvider.Excute(new HttpRequestParameter
            //{
            //    Url = "http://www.baidu.com",
            //    IsPost = false,
            //    Encoding = Encoding.UTF8
            //    //Cookie = new HttpCookieType() 如果需要Cookie
            //});
            //System.Console.WriteLine(responseParameter1.Body);

            // 2. 模拟一个Post请求方式(例:登录)
            //IDictionary<string, string> postData = new Dictionary<string, string>();
            //postData.Add("userName", "登录用户名");
            //postData.Add("userPwd", "用户名密码");
            //HttpResponseParameter responseParameter2 = httpProvider.Excute(new HttpRequestParameter
            //{
            //    Url = "你的登录url",
            //    IsPost = true,
            //    Encoding = Encoding.UTF8,
            //    Parameters = postData
            //});
            //System.Console.WriteLine(responseParameter2.Body);

            // 1. 模拟一个Get请求方式
            //http://lbfjapi.wsdict.com:8000/xpapi.ashx?method=xpshop.trades.sold.get&page_no=1&page_size=100

            //3.模拟一个Get请求方式  带参数
            IDictionary <string, string> postData = new Dictionary <string, string>();

            postData.Add("userName", "登录用户名");
            postData.Add("userPwd", "用户名密码");

            HttpRequestParameter HttpReq = new HttpRequestParameter
            {
                //Url = "http://www.baidu.com",
                Url        = "http://lbfjapi.wsdict.com:8000/xpapi.ashx?method=xpshop.shipping.type.get",
                IsPost     = false,
                Encoding   = Encoding.UTF8,
                Parameters = postData
                             //Cookie = new HttpCookieType() 如果需要Cookie
            };

            System.Console.WriteLine("请求数据为:" + HttpReq.ToString());
            HttpResponseParameter responseParameter3 = httpProvider.Excute(HttpReq);

            System.Console.WriteLine(responseParameter3.Body);

            System.Console.ReadLine();
        }
Esempio n. 9
0
        void PostUserLogin()
        {
            var dicPostData2 = new Dictionary <string, string>();

            dicPostData2.Add("_json_att", "");
            HttpResponseParameter responseParameter2 = HttpProvider.Excute(new HttpRequestParameter
            {
                Url        = "https://kyfw.12306.cn/otn/login/userLogin",
                IsPost     = true,
                Parameters = dicPostData2,
                Cookie     = CookieStoreInstance.CurrentCookie
            });
        }
Esempio n. 10
0
        void CheckUserLogin()
        {
            var dicPostData2 = new Dictionary <string, string>();

            dicPostData2.Add("_json_att", "");
            HttpResponseParameter responseParameter2 = HttpProvider.Excute(new HttpRequestParameter
            {
                Url        = "https://kyfw.12306.cn/otn/login/checkUser",
                IsPost     = true,
                Parameters = dicPostData2,
                Cookie     = SessionCookie
            });
        }
Esempio n. 11
0
        public void TestMethod1()
        {
            var httpProvider = new HttpProvider();

            var url =
                string.Format(
                    "https://kyfw.12306.cn/otn/leftTicket/queryT?leftTicketDTO.train_date={0}&leftTicketDTO.from_station={1}&leftTicketDTO.to_station={2}&purpose_codes={3}", "2016-02-04", "SHH", "FYH", "ADULT");
            HttpResponseParameter responseParameter = httpProvider.Excute(new HttpRequestParameter
            {
                Url    = url,
                IsPost = false
            });

            HttpJsonResult <QeryTicketsData> loginResult = responseParameter.Body.DeserializeObject <HttpJsonResult <QeryTicketsData> >();
        }
Esempio n. 12
0
        void CheckRandCode(string randCode)
        {
            var dicPostData = new Dictionary <string, string>();

            dicPostData.Add("rand", "sjrand");
            dicPostData.Add("randCode", randCode);

            HttpResponseParameter responseParameter = HttpProvider.Excute(new HttpRequestParameter
            {
                Url        = "https://kyfw.12306.cn/otn/passcodeNew/checkRandCodeAnsyn",
                IsPost     = true,
                Parameters = dicPostData,
                Cookie     = SessionCookie
            });
        }
Esempio n. 13
0
        void ShowLianXiRen()
        {
            var dicPostData = new Dictionary <string, string>();

            dicPostData.Add("pageIndex", "1");
            dicPostData.Add("pageSize", "20");

            HttpResponseParameter responseParameter = httpProvider.Excute(new HttpRequestParameter
            {
                Url        = "https://kyfw.12306.cn/otn/passengers/query",
                IsPost     = true,
                Parameters = dicPostData,
                Cookie     = SessionCookie
            });
        }
Esempio n. 14
0
        public HttpCookieType UserLogin(Dictionary <string, string> postData, HttpCookieType sessionCookie)
        {
            var _sessionCookie = new HttpCookieType();

            _sessionCookie = sessionCookie;
            HttpResponseParameter responseParameter = httpProvider.Excute(new HttpRequestParameter
            {
                Url        = "https://kyfw.12306.cn/otn/login/loginAysnSuggest",
                IsPost     = true,
                Parameters = postData,
                Cookie     = sessionCookie
            });

            _sessionCookie.CookieCollection.Add(responseParameter.Cookie.CookieCollection);
            _sessionCookie.CookieString = _sessionCookie.CookieString + "," +
                                          responseParameter.Cookie.CookieString;
            return(_sessionCookie);
        }
Esempio n. 15
0
        public string OperateCallBaceResult(object requestParameters, string operateUrl, bool error)
        {
            try
            {
                string body      = Newtonsoft.Json.JsonConvert.SerializeObject(requestParameters);
                string timestamp = OperateUtil.GetTimeStamp().ToString();
                string nonce     = OperateUtil.GetNonceString(8);
                String sign      = SignUtil.sign(this.merchantKey, timestamp, nonce, body);
                Dictionary <string, string> map = new Dictionary <string, string>();
                if (error)
                {
                    sign = "12312312qwed";
                }
                map.Add("body", body);
                map.Add("sign", sign);
                map.Add("timestamp", timestamp);
                map.Add("nonce", nonce);

                Dictionary <string, string> Spaheader    = new Dictionary <string, string>();
                Dictionary <string, string> myParameters = new Dictionary <string, string>();
                HttpProvider httpProvider = new HttpProvider();

                HttpResponseParameter reponseParameter = httpProvider.Excute(new HttpRequestParameter
                {
                    Url              = operateUrl,
                    IsPost           = true,
                    Encoding         = Encoding.UTF8,
                    Parameters       = map,
                    HeaderParameters = map,
                }, "", "");

                string textReg = reponseParameter.Body;
                return(textReg);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Esempio n. 16
0
        /// <summary>
        /// 设置返回结果
        /// </summary>
        /// <param name="request">HttpWebRequest对象</param>
        /// <param name="requestParameter">请求参数对象</param>
        /// <returns>响应对象</returns>
        private static HttpResponseParameter SetResponse(HttpWebRequest request, HttpRequestParameter requestParameter)
        {
            HttpResponseParameter responseParameter = new HttpResponseParameter();

            using (HttpWebResponse webResponse = (HttpWebResponse)request.GetResponse())
            {
                responseParameter.Uri        = webResponse.ResponseUri;
                responseParameter.StatusCode = webResponse.StatusCode;
                responseParameter.Cookie     = new HttpCookieType
                {
                    Cookies = webResponse.Cookies,
                    Cookie  = webResponse.Headers["Set-Cookie"]
                };

                using (StreamReader reader = new StreamReader(webResponse.GetResponseStream(), requestParameter.Encoding))
                {
                    responseParameter.Body = reader.ReadToEnd();
                }
            }

            return(responseParameter);
        }
Esempio n. 17
0
        private void BindingData()
        {
            var url =
                string.Format(
                    "https://kyfw.12306.cn/otn/leftTicket/queryT?leftTicketDTO.train_date={0}&leftTicketDTO.from_station={1}&leftTicketDTO.to_station={2}&purpose_codes={3}", "2016-02-04", "SHH", "FYH", "ADULT");
            HttpResponseParameter responseParameter = httpProvider.Excute(new HttpRequestParameter
            {
                Url    = url,
                IsPost = false
            });

            HttpJsonResult <QeryTicketsData> loginResult = JsonConvert.DeserializeObject <HttpJsonResult <QeryTicketsData> >(responseParameter.Body);
            var list = loginResult.Data.Select(x => x.QueryLeftNewDTO).ToList();

            TicketsDataList = loginResult.Data.ToList();

            var _list = new ObservableCollection <QueryLeftNewDTO>();

            foreach (var item in list)
            {
                _list.Add(item);
            }
            DataGrid1.ItemsSource = _list;
        }
Esempio n. 18
0
        /// <summary>
        /// 开始爬取高手操作数据
        /// </summary>
        /// <param name="pageNum"></param>
        /// <param name="loopTime"></param>
        public static Message Excute(int pageNum = 1, int loopTime = 0)
        {
            System.GC.Collect();
            LogUtility.LogAction(string.Format(@"爬取第{0}页", pageNum));

            isStopPoint = false;
            string _refererUrl = "http://group.eastmoney.com/Master.html?type=GSCZ";
            string url         = "http://group.eastmoney.com/findmaster{0}.html";

            IHttpProvider httpProvider = new HttpProvider();

            url = string.Format(url, pageNum);

            //Get请求方式
            HttpResponseParameter responseParameter1 = httpProvider.Excute(new HttpRequestParameter
            {
                Url        = url,
                RefererUrl = _refererUrl,
                IsPost     = false,
                Encoding   = Encoding.UTF8
            });
            string htmlContent = responseParameter1.Body;

            HtmlDocument htmlDoc = new HtmlDocument();

            htmlDoc.LoadHtml(htmlContent);
            string   nodeName  = "//tbody";
            HtmlNode tbodyNode = htmlDoc.DocumentNode.SelectSingleNode(nodeName);

            if (tbodyNode != null && !string.IsNullOrWhiteSpace(tbodyNode.InnerText.Trim()))
            {
                bool isSave = AnalysisHtml(htmlDoc, pageNum);

                #region 入库失败,重试

                if (!isSave && loopTime <= 3)
                {
                    Thread.Sleep(5000);
                    LogUtility.LogAction(string.Format(@"入库失败,重新爬取第{0}次", loopTime + 1));
                    Excute(pageNum, loopTime + 1);
                }
                if (loopTime > 3)
                {
                    LogUtility.LogAction(string.Format(@"已重新爬取{0}次,退出重试", loopTime + 1));
                }
                #endregion

                if (!isStopPoint)
                {
                    Excute(pageNum + 1);
                }
            }
            else
            {
                LogUtility.LogAction("爬取到最后一页,从头开始爬取");
                //加载停止点
                EastMoneyMain.InitInfo();
                //从第一页开始爬取
                Excute();
            }
            return(new Message());
        }
Esempio n. 19
0
        protected void btn_Click(object sender, RoutedEventArgs e)
        {
            var userName = UserName.Text.Trim();
            var passWord = PassWord.Password.Trim();
            var code     = string.Empty;

            if (RandCodeImage1.IsChecked == true)
            {
                code += "32,53";
            }
            if (RandCodeImage2.IsChecked == true)
            {
                code += ",103,45";
            }
            if (RandCodeImage3.IsChecked == true)
            {
                code += ",178,55";
            }
            if (RandCodeImage4.IsChecked == true)
            {
                code += ",243,44";
            }
            if (RandCodeImage5.IsChecked == true)
            {
                code += ",45,113";
            }
            if (RandCodeImage6.IsChecked == true)
            {
                code += ",107,114";
            }
            if (RandCodeImage7.IsChecked == true)
            {
                code += ",172,98";
            }
            if (RandCodeImage8.IsChecked == true)
            {
                code += ",249,117";
            }
            code = code.Trim(',');
            CheckRandCode(code);

            var dicPostData = new Dictionary <string, string>();

            dicPostData.Add("loginUserDTO.user_name", userName);
            dicPostData.Add("userDTO.password", passWord);
            dicPostData.Add("randCode", code);

            HttpResponseParameter responseParameter = HttpProvider.Excute(new HttpRequestParameter
            {
                Url        = "https://kyfw.12306.cn/otn/login/loginAysnSuggest",
                IsPost     = true,
                Parameters = dicPostData,
                Cookie     = SessionCookie
            });

            HttpJsonResultEntity <UserLoginResult> loginResut = JsonConvert.DeserializeObject <HttpJsonResultEntity <UserLoginResult> >(responseParameter.Body);

            SessionCookie.CookieCollection.Add(responseParameter.Cookie.CookieCollection);
            SessionCookie.CookieString = SessionCookie.CookieString + "," +
                                         responseParameter.Cookie.CookieString;
            CookieStoreInstance.CurrentCookie = SessionCookie;
            this.Close();
            //PostUserLogin();
            //CheckUserLogin();

            //var dicPostData2 = new Dictionary<string, string>();

            //dicPostData.Add("_json_att", "");
            //dicPostData.Add("REPEAT_SUBMIT_TOKEN", "b4ed83a3647be9dfb24f3fbfe8f351b5");

            //HttpResponseParameter responseParameter2 = HttpProvider.Excute(new HttpRequestParameter
            //{
            //    Url = "https://kyfw.12306.cn/otn/confirmPassenger/getPassengerDTOs",
            //    IsPost = true,
            //    Parameters = dicPostData2,
            //    Cookie = SessionCookie
            //});

            //HttpJsonResultEntity<QueryPassengerResult> passengerResult = JsonConvert.DeserializeObject<HttpJsonResultEntity<QueryPassengerResult>>(responseParameter2.Body);
            //LoginResultEntity loginResult = responseParameter.Body.DeserializeObject<LoginResultEntity>();

            //if (loginResult.status == 1)
            //{
            //    // 2.登录成功,保存cookie
            //    // CookieStoreInstance.CurrentCookie = responseParameter.Cookie;
        }