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

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

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

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

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

查看: 5601|回复: 2

[HttpHelper] 最后 Gethtml()得到的是错误页,怎么解决

[复制链接]
发表于 2015-5-18 12:10:32 | 显示全部楼层 |阅读模式
2金钱
aspx页面内容
[HTML] 纯文本查看 复制代码
<body>
    <form id="form1" runat="server">
 
        <img runat="server" id="yzmimg"/>
        <asp:TextBox runat="server" ID="txt"></asp:TextBox>
        <asp:Button runat="server" ID="Btn_sub" OnClick="Btn_sub_Click" />
        <input type="hidden" id="hid_sessionid" runat="server" />
    </form>
</body>


cs代码
[C#] 纯文本查看 复制代码
protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        HttpItem item1 = new HttpItem()
        {
            URL = "https://www.sgs.gov.cn/notice/home",
            Method = "get",//URL     可选项 默认为Get   
            ResultType = ResultType.Byte
        };
        HttpResult result1 = http.GetHtml(item1);
        string ds= result1.Html;
        string str1=  ds.Substring(ds.IndexOf("code")+5) ;
        str1= str1.Substring(0,str1.IndexOf(','));
        hid_sessionid.Value = str1.Replace("\"", "").Trim();//得到session.token的值
        HttpItem item = new HttpItem()
        {
            URL = "https://www.sgs.gov.cn/notice/captcha",
            Method = "get",//URL     可选项 默认为Get   
            ResultType = ResultType.Byte
        };
        HttpResult result = http.GetHtml(item);
        System.IO.File.WriteAllBytes(Server.MapPath("yzm.png"), result.ResultByte);  //下载验证码图片
        yzmimg.Src = "yzm.png";
        Session["tmp"] = result1;
    }
}
 
protected void Btn_sub_Click(object sender, EventArgs e)
{
    //创建Httphelper参数对象
    HttpResult sub = Session["tmp"] as HttpResult;
    HttpItem item = new HttpItem()
    {
        URL = "https://www.sgs.gov.cn/notice/search/ent_info_list",//URL     必需项    
        Referer = "https://www.sgs.gov.cn/notice/home",
        Method = "post",//URL     可选项 默认为Get   
        ContentType = "application/x-www-form-urlencoded",//返回类型    可选项有默认值
        Postdata = "searchType=1&captcha=" + HttpUtility.UrlEncode(txt.Text) + "&session.token=" + hid_sessionid.Value + "&condition.keyword=%E5%AE%9D%E4%BF%A1",            
        UserAgent="Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko",
        //Post要发送的数据,txt.Text手动输的验证码
        Cookie = sub.Cookie.Replace("; Path=/", ""),
    };
    //请求的返回值对象
    HttpResult result = http.GetHtml(item);
    //获取请请求的Html
     
    string html = result.Html;
    //获取请求的Cookie
 
}

得到的是错误页,请点击里面的页面链接看一看,已经搞了两天,没搞定,请帮我看看,万分感谢



1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2015-5-18 13:02:12 | 显示全部楼层
这个没搞过,不太清楚,错误是什么
回复

使用道具 举报

 楼主| 发表于 2015-5-19 21:36:12 | 显示全部楼层
站长苏飞 发表于 2015-5-18 13:02
这个没搞过,不太清楚,错误是什么

你点击这个链接https://www.sgs.gov.cn/notice/home,随便输个公司名,搜索,要得到https://www.sgs.gov.cn/notice/search/ent_info_list页的数据内容,应该怎么做,我是不是上面写错了,我是先下载验证码,再带cookie post的,结果不是我要的那个页面https://www.sgs.gov.cn/notice/search/ent_info_list上的,
请帮我看看,老大
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

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

GMT+8, 2024-5-13 01:33

© 2014-2021

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