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

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

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

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

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

查看: 5023|回复: 4

[求助] 新手求助~~post登录问题

[复制链接]
发表于 2015-10-21 21:33:29 | 显示全部楼层 |阅读模式
   {
            ................... 前面已经设置好 用户名Name和密码passWd 以及Cookie

           //

             item = new HttpItem();
            item.URL = "https://secure.damai.cn/login.aspx?ru=http://www.damai.cn/";

            string postData = "type=0&login_email=" +  Name + "&login_pwd_txt=%E7%99%BB%E5%BD%95%E5%AF%86%E7%A0%81&login_pwd=" + passWord;


            item.Encoding = Encoding.Default;


            item.Header.Add("HOST", "secure.damai.cn");
            item.Header.Add("Connection", "keep-alive");
            item.Header.Add("Content-Length", postData.Length.ToString());
            item.Header.Add("Cache-Control", "max-age=0");
            item.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8";
            item.Header.Add("Origin", "https://secure.damai.cn");
            item.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36";
            item.ContentType = "application/x-www-form-urlencoded";
            item.Referer = "https://secure.damai.cn/login.aspx?ru=http://www.damai.cn/";
            item.Header.Add("Accept-Encoding", "gzip,deflate,sdch");
            item.Header.Add("Accept-Language", "zh-CN,zh;q=0.8");


            item.Method = "post";
            item.Postdata = postData;

            item.Cookie  = cookie;

            result = http.GetHtml(item);


            if(result.StatusCode== HttpStatusCode.OK)
                return true;

            return false;
        }

困惑在于:  用第三方软件测试header和postdata。。。能看到登录成功,和抓的数据包是一致的,抓狂啊简直,转换成为C#总是不成。。。

result = http.GetHtml(item);的结果提示 :“此标头必须使用适当的属性进行修改,\r\n参数名: name"

代码出错在哪
求老手指导,拜谢。。。

fiddler2截图显示post成功

fiddler2截图显示post成功


1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
 楼主| 发表于 2015-10-21 21:42:02 | 显示全部楼层
翻到苏老大的帖子了,赶紧Mark 一下,
http://www.sufeinet.com/thread-2131-1-1.html

以下属性是不能直接添加到Header中的,也就是不能使用Header.Add()
    Accept由 Accept 属性设置。
    Connection由 Connection 属性和 KeepAlive 属性设置。
    Content-Length由 ContentLength 属性设置。
    Content-Type由 ContentType 属性设置。
    Expect由 Expect 属性设置。
    Date由系统设置为当前日期。
    Host由系统设置为当前主机信息。
    If-Modified-Since由 IfModifiedSince 属性设置。
    Range由 AddRange 方法设置。
    Referer由 Referer 属性设置。
    Transfer-Encoding由 TransferEncoding 属性设置(SendChunked 属性必须为 true)。
    User-Agent由 UserAgent 属性设置。
 楼主| 发表于 2015-10-21 21:53:12 | 显示全部楼层
  //item.Header.Add("HOST", "secure.damai.cn");
//item.Header.Add("Connection", "keep-alive");
//item.Header.Add("Content-Length", postData.Length.ToString());  

本例中屏蔽这3行就能正常登录了,2天了终于搞定了,不容易啊
发表于 2015-10-22 15:20:54 | 显示全部楼层
我只是路过打酱油的。
发表于 2018-7-27 14:17:48 | 显示全部楼层
这个贴子值的学习!
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

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

GMT+8, 2024-4-27 07:26

© 2014-2021

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