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

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

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

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

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

查看: 2655|回复: 2

[其他] asp.net网站无法post

[复制链接]
发表于 2014-4-15 16:14:19 | 显示全部楼层 |阅读模式
http://house.shunde.net.cn/sellhouse.aspx
我想获取每页的数据,分页是用的post方法

当我把__EVENTTARGET,__EVENTARGUMENT,__VIEWSTATE 提交的时候 返回的信息还是第一页的




代码如下:
用了HtmlAgilityPack解析html了


public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        string sHtml = string.Empty;

        public string getcontroldata(string controlid)
        {

            HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
            doc.LoadHtml(sHtml);

            HtmlNode node = doc.DocumentNode.SelectSingleNode(string.Format("//*[@id=\"{0}\"]", controlid));
            if (node != null && node.Attributes["value"] != null)
            {
                return node.Attributes["value"].Value;
            }
            return "";

        }


        private void button1_Click(object sender, EventArgs e)
        {


            int iPageNo = 1;
            bool bExitFlag = false;
            string sCurrentUrl = "http://house.shunde.net.cn/sellhouse.aspx";

            do
            {

                if (iPageNo == 1)
                {

                    HttpHelper http = new HttpHelper();

                    HttpItem item = new HttpItem()
                    {
                        URL = sCurrentUrl,//URL     必需项   
                        ICredentials = CredentialCache.DefaultCredentials,
                    };

                    HttpResult result = http.GetHtml(item);
                    sHtml = result.Html;
                    string cookie = result.Cookie;
                }
                else
                {
                     string postdata =
                    "__EVENTTARGET=dgMain$ctl28$ctl01"
                    + "&__EVENTARGUMENT="
                    + "&__VIEWSTATE=" + getcontroldata("__VIEWSTATE");

                    HttpHelper http = new HttpHelper();
                    HttpItem item = new HttpItem()
                    {
                        URL = sCurrentUrl,//URL     必需项   
                        ICredentials = CredentialCache.DefaultCredentials,
                        Method = "POST",
                        Postdata = postdata,
                        Referer = "http://house.shunde.net.cn/sellhouse.aspx"
                    };

                    HttpResult result = http.GetHtml(item);
                    sHtml = result.Html;
                    string cookie = result.Cookie;


                }
                iPageNo++;
            }
            while (!bExitFlag);


        }

    }



1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2014-4-16 10:25:51 | 显示全部楼层
要带Cookie访问?
 楼主| 发表于 2014-4-17 15:30:48 | 显示全部楼层
解决了用了webclient就好了
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

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

GMT+8, 2024-11-24 03:57

© 2014-2021

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