Esempio n. 1
0
        public Tuple <bool, string> QianDao()
        {
            HttpStatusCode status = new HttpStatusCode();

            string loginUrl   = "http://www.itmxc.com/member.php?mod=logging&action=login&loginsubmit=yes&infloat=yes&lssubmit=yes&inajax=1";
            var    loginParam = new
            {
                fastloginfield = "username",
                username       = "******",
                password       = "******",
                quickforward   = "yes",
                handlekey      = "ls"
            };

            //登录
            CookieContainer cc = WebRequestHelper.GetCookieContainer(loginUrl, loginParam);

            //访问主页
            string homePageResponse = WebRequestHelper.HttpGet("http://www.itmxc.com/forum.php", cc, out status);
            string formhash         = new Regex("formhash=.+(?=['\"])").Match(homePageResponse).Value.Split('=')[1];

            //访问每日签到的选择页面
            WebRequestHelper.HttpGet("http://www.itmxc.com/plugin.php?id=dsu_paulsign:sign&" + formhash + "&infloat=yes&handlekey=dsu_paulsign&inajax=1&ajaxtarget=fwin_content_dsu_paulsign", cc, out status);

            //执行签到操作
            var qiandaoParam = new
            {
                formhash  = formhash,
                qdxq      = "kx",
                qdmode    = "2",
                todaysay  = "",
                fastreply = "2"
            };
            string qiandaoResponse = WebRequestHelper.HttpPost("http://www.itmxc.com/plugin.php?id=dsu_paulsign:sign&operation=qiandao&infloat=1&sign_as=1&inajax=1", Encoding.GetEncoding("gbk"), cc, qiandaoParam);
            string result          = new Regex("(?<=<div class=\"c\">(\r\n)*).+(?=</div>)").Match(qiandaoResponse).Value;

            return(Tuple.Create(true, "MXC签到:" + result));
        }
Esempio n. 2
0
        public bool SendMsg(string phone)
        {
            VerifyCodeHelper codeHelper = new VerifyCodeHelper();
            string           code       = "";
            HttpStatusCode   status     = new HttpStatusCode();
            CookieContainer  cc         = WebRequestHelper.GetCookieContainer("http://www.daichuqu.com");

            bool isOk = false;

            for (int i = 0; i < 50; i++)
            {
                while (true)
                {
                    code = codeHelper.Do("http://www.daichuqu.com/Login/verifycode", cc);
                    if (code.Length == 4)
                    {
                        break;
                    }
                }

                string sendUrl    = "http://www.daichuqu.com/Login/reg_phone_verify";
                object sendParams = new
                {
                    phone     = phone,
                    verifyimg = code
                };
                string response = WebRequestHelper.HttpPost(sendUrl, cc, sendParams);
                if (response.Contains("\"status\":1"))
                {
                    isOk = true;
                    break;
                }
            }

            return(isOk);
        }
Esempio n. 3
0
        public Tuple <bool, string> Search()
        {
            HttpStatusCode status = new HttpStatusCode();

            string loginUrl   = "https://secure.damai.cn/login.aspx";
            var    loginParam = new
            {
                type         = "0",
                token        = DateTime.Now.ToUnixTime13(),
                nationPerfix = "86",
                login_email  = "13163736313",
                login_pwd    = "Windowsxp3",
                code         = "验证码"
            };

            //登录
            CookieContainer cc = WebRequestHelper.GetCookieContainer(loginUrl, loginParam);

            //访问演唱会列表页
            string strListResponse = WebRequestHelper.HttpGet("http://www.damai.cn/sz/Perform-1/", cc, Encoding.UTF8, out status);

            HtmlDocument doc = new HtmlDocument();

            doc.LoadHtml(strListResponse);
            var rootNode = doc.DocumentNode;

            var totalPageNode = rootNode.SelectSingleNode("//em[@id='totalpages']");

            if (totalPageNode == null)
            {
                LogHelper.WriteGrabberLog("大麦网:totalPageNode为null");
            }
            //遍历每个分页
            Random rd = new Random();

            for (int i = 1; i <= Convert.ToInt32(totalPageNode.InnerHtml); i++)
            {
                string pageUrl         = "http://www.damai.cn/ajax/cityCategoryProjectList.aspx?pageidx=" + i + "&categoryId=1&host=sz&sortType=0&startDate=&endDate=&sortKey=0&t=" + rd.NextDouble();
                string strPageResponse = WebRequestHelper.HttpGet(pageUrl, cc, Encoding.UTF8, out status);
                var    projectList     = HtmlNode.CreateNode("<div>" + strPageResponse + "</div>").SelectNodes("//li");
                //遍历每个项目(演唱会)
                foreach (HtmlNode projectNode in projectList)
                {
                    var    node         = projectNode.SelectSingleNode("//h5/a[1]");
                    string projectName  = node.InnerHtml;
                    string projectUrl   = node.Attributes["href"].Value;
                    string projectState = projectNode.SelectSingleNode("//p[@class='city-state']/span").InnerHtml;
                    //如果存在需要的项目,则购票
                    if (projectState == "售票中" && listKeyword.Any(p => projectName.Contains(p)))
                    {
                        //todo购票
                    }
                }
            }


            string qiandaoResponse = WebRequestHelper.HttpPost("http://www.itmxc.com/plugin.php?id=dsu_paulsign:sign&operation=qiandao&infloat=1&sign_as=1&inajax=1", Encoding.GetEncoding("gbk"), cc, new { });
            string result          = new Regex("(?<=<div class=\"c\">(\r\n)*).+(?=</div>)").Match(qiandaoResponse).Value;

            return(Tuple.Create(true, "MXC签到:" + result));
        }