http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 5282|回复: 2

[求助] 爬ASP.NET网站不能成功

[复制链接]
发表于 2019-3-4 21:43:11 | 显示全部楼层 |阅读模式
网站描述:打开网站输入用户名、密码、验证码,可以获取到验证码图片POST的时候把隐藏域内容也提交了但是,不能进入到Main.aspx。
private void button1_Click(object sender, EventArgs e)
        {
            try
            {

                string url = "http://xxxx.xxxx.cn/Admin/AdminLogin.aspx";

                HttpHelper http=new HttpHelper();

                HttpItem item = new HttpItem();
                item.Accept = "text/html,application/xhtml+xm…ml;q=0.9,image/webp,*/*;q=0.8";
                item.URL = url;
                item.Method = "get";
                item.ResultCookieType = ResultCookieType.CookieCollection;

                HttpResult result = http.GetHtml(item);
                htmllogin = result.Html;
                cc.Add(result.CookieCollection);

                string urlcode = "http://[size=14.3999996185303px]xxxx.xxxx.cn/Admin/ValidityCode.ashx";       //请求验证码的地址
                HttpItem item1 = new HttpItem();
                item1.URL = urlcode;
                item1.Method = "get";
                //item1.Cookie = result.Cookie;
                item1.CookieCollection = result.CookieCollection;
                item1.ResultCookieType = ResultCookieType.CookieCollection;
                item1.ResultType = ResultType.Byte;
                item1.Referer = url;

                HttpResult result1 = http.GetHtml(item1);
                cc.Add(result1.CookieCollection);
                pictureBox1.Image = byteArrayToImage(result1.ResultByte);     //显示验证码




            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }



        private void button2_Click(object sender, EventArgs e)
        {
            string logurl = "http://[size=14.3999996185303px]xxxx.xxxx.cn/Admin/AdminLogin.aspx";
            HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
            doc.LoadHtml(htmllogin);
            string __EVENTTARGET = doc.GetElementbyId("__EVENTTARGET").GetAttributeValue("value", "");
            string __EVENTARGUMENT = doc.GetElementbyId("__EVENTARGUMENT").GetAttributeValue("value", "");
            string __VIEWSTATEGENERATOR = doc.GetElementbyId("__VIEWSTATEGENERATOR").GetAttributeValue("value", "");
            string __EVENTVALIDATION = doc.GetElementbyId("__EVENTVALIDATION").GetAttributeValue("value", "");
            string ctl00_ContentPlaceHolder1_UsernameTextBox = "slzb0122";// doc.GetElementbyId("ctl00_ContentPlaceHolder1_UsernameTextBox").GetAttributeValue("value", "");
            string ctl00_ContentPlaceHolder1_PasswordTextBox = "slzb85816064";//doc.GetElementbyId("ctl00_ContentPlaceHolder1_PasswordTextBox").GetAttributeValue("value", "");
            string ctl00_ContentPlaceHolder1_VerifyTextBox = textBox1.Text.Trim();//doc.GetElementbyId("ctl00_ContentPlaceHolder1_VerifyTextBox").GetAttributeValue("value", "");
            string ctl00_ContentPlaceHolder1_LoginBtn = doc.GetElementbyId("ctl00_ContentPlaceHolder1_LoginBtn").GetAttributeValue("value", "");

            HttpHelper http = new HttpHelper();

            HttpItem item2 = new HttpItem();
            item2.URL = logurl;
            item2.Method = "post";
            item2.CookieCollection = cc;      //使用上个方法中的cookie 有两个
            item2.ResultCookieType = ResultCookieType.CookieCollection;
            item2.Postdata = string.Format("__EVENTTARGET={0}&__EVENTARGUMENT={1}&__VIEWSTATEGENERATOR={2}&__EVENTVALIDATION={3}&ctl00_ContentPlaceHolder1_UsernameTextBox={4}&ctl00_ContentPlaceHolder1_PasswordTextBox={5}&ctl00_ContentPlaceHolder1_VerifyTextBox={6}&ctl00_ContentPlaceHolder1_LoginBtn={7}"
                , __EVENTTARGET, __EVENTARGUMENT, __VIEWSTATEGENERATOR, __EVENTVALIDATION, ctl00_ContentPlaceHolder1_UsernameTextBox, ctl00_ContentPlaceHolder1_PasswordTextBox, ctl00_ContentPlaceHolder1_VerifyTextBox, ctl00_ContentPlaceHolder1_LoginBtn);
            HttpResult resultLog = http.GetHtml(item2);

            string mainurl = "http://[size=14.3999996185303px]xxxx.xxxx.cn/Admin/Main.aspx";
            HttpItem item3 = new HttpItem();
            item3.URL = mainurl;
            item3.Method = "get";
            item3.CookieCollection = cc;//resultLog.CookieCollection;
            item3.ResultCookieType = ResultCookieType.CookieCollection;
            HttpResult mailresult = http.GetHtml(item3);       //不能进入到Main.aspx

        }



求大神支招。感谢


1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
 楼主| 发表于 2019-3-5 13:50:59 | 显示全部楼层
自顶下
回复

使用道具 举报

发表于 2019-3-5 18:21:44 | 显示全部楼层
多少提供个网址啊,这咋看
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-11-22 07:22

© 2014-2021

快速回复 返回顶部 返回列表