苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

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

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

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

查看: 2788|回复: 3

[其他] 请教各位大大一个问题 不知道哪里出问题了 httphelper类 登陆不上人人网

[复制链接]
发表于 2014-1-20 23:34:14 | 显示全部楼层 |阅读模式
[C#] 纯文本查看 复制代码
            string url = "http://www.renren.com/PLogin.do";
            string postdata = string.Format("email={0}&icode={1}&origURL=http%3A%2F%2Fwww.renren.com%2Fhome&domain=renren.com&key_id=1&captcha_type=web_login&password=3d07522b2090e8669b15712464f644eff5cb978a8a00ab60d7bd3a8cb87870e7&rkey=d0cf42c2d3d337f9e5d14083f2d52cb2", HttpUtility.UrlEncode(textBox1.Text.Trim()), HttpUtility.UrlEncode(textBox3.Text.Trim()));
            string Cookies = "";
[C#] 纯文本查看 复制代码
 HttpHelper http = new HttpHelper();


[C#] 纯文本查看 复制代码
           HttpItem item = new HttpItem()         //登陆Post
            {
                URL = "http://www.renren.com/PLogin.do",
                Method = "POST",
                ContentType = "application/x-www-form-urlencoded",
                Postdata = postdata,,
                UserAgent = "Mozilla/5.0 (Windows NT 5.1; rv:25.0) Gecko/20100101 Firefox/25.0",//模拟一个UserAgent
                Allowautoredirect = true,
                Cookie = Cookies

            };

            HttpResult httpresult = http.GetHtml(item);
            Cookies = httpresult.Cookie;
            string WebContent = httpresult.Html;

不知道哪个地方出了问题 一直无法正常登陆  

[C#] 纯文本查看 复制代码
            string url = "http://www.renren.com/PLogin.do";
            string postdata = string.Format("email={0}&icode={1}&origURL=http%3A%2F%2Fwww.renren.com%2Fhome&domain=renren.com&key_id=1&captcha_type=web_login&password=3d07522b2090e8669b15712464f644eff5cb978a8a00ab60d7bd3a8cb87870e7&rkey=d0cf42c2d3d337f9e5d14083f2d52cb2", HttpUtility.UrlEncode(textBox1.Text.Trim()), HttpUtility.UrlEncode(textBox3.Text.Trim()));
            string Cookies = "";
            byte[] data = Encoding.UTF8.GetBytes(postdata);
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);

            //request.CookieContainer = new CookieContainer(); 
            //request.CookieContainer.Add(curCookies);
            request.Method = "POST";//数据提交方式
            request.ContentType = "application/x-www-form-urlencoded";
            request.ContentLength = data.Length;
            request.UserAgent = "	Mozilla/5.0 (Windows NT 5.1; rv:25.0) Gecko/20100101 Firefox/25.0";//模拟一个UserAgent   
            request.CookieContainer = cc;
            Stream newStream = request.GetRequestStream();
            newStream.Write(data, 0, data.Length);
            newStream.Close();
            request.CookieContainer = cc;
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            cc.Add(response.Cookies);
            Stream stream = response.GetResponseStream();

这个可以正常登陆


1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2014-1-21 08:24:58 | 显示全部楼层
Allowautoredirect = true,把这个修改成Allowautoredirect = false
然后建议使用CookieCollection 类型的Cookie而不要使用字符串?Cookie来实现
http://www.sufeinet.com/thread-6015-1-1.html
 楼主| 发表于 2014-1-21 11:48:18 | 显示全部楼层
ResultCookieType=ResultCookieType.CookieCollection
根据飞哥的提示 在请求头信息里 我添加了这句可以正常登陆了 具体原因还不是很明白。。感谢了!
发表于 2014-1-21 12:56:55 | 显示全部楼层
Cookie的格式问题,只要成功了就行了,
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

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

GMT+8, 2025-1-4 13:24

© 2014-2021

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