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

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

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

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

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

查看: 4133|回复: 6

[求助] 大伙帮我看看这个登录

[复制链接]
发表于 2014-6-5 23:06:16 | 显示全部楼层 |阅读模式


需要去淘宝取点数据回来,但是淘宝的登录做得太蛋疼了。没空去研究它的加密方法。

所以决定用WebBrowser来进行登录,然后再传入HttpWebRequest对象进行数据抓取。

按这个地址  http://www.sufeinet.com/thread-6976-43-1.html

获取到了CookieCollection ,也获取到了UserAgent,

[C#] 纯文本查看 复制代码
void GetAgent(WebBrowser wb) {
            object window = wb.Document.Window.DomWindow;
            Type wt = window.GetType();
            object navigator = wt.InvokeMember("navigator", BindingFlags.GetProperty, null, window, new object[] { });
            Type nt = navigator.GetType();
            object userAgent = nt.InvokeMember("userAgent", BindingFlags.GetProperty, null, navigator, new object[] { });

            this.tb_UA.Text = userAgent == null ? "" : userAgent.ToString();
        }


再把它传入获取页面的时候,还是一直跳登录页面,是不是我哪个参数没有设置对?
CookieCollection 我看过了。获取到了43个对象。

[C#] 纯文本查看 复制代码
private void button1_Click(object sender, EventArgs e)
        {
            
            HttpHelper helper = new HttpHelper();
            HttpItem item = new HttpItem()
            {
                CookieCollection = cc,
                URL = "http://trade.taobao.com/trade/itemlist/list_bought_items.htm",
                UserAgent = this.tb_UA.Text,
                Referer = "http://www.taobao.com/",
                Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8,application/json",
                Host = "trade.taobao.com"
            };

            HttpResult res = helper.GetHtml(item);

            this.textBox1.Text = res.StatusCode + " <--> " + DateTime.Now;
            this.textBox1.Text = res.Header["Location"];
            this.textBox1.Text += res.Html;
            
        }



1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2014-6-6 08:22:14 | 显示全部楼层
http://www.sufeinet.com/thread-3-1-1.html看看教程里是怎么用的,
[C#] 纯文本查看 复制代码
 item = new HttpItem()
           {
               URL = "http://tool.sufeinet.com",//URL这里都是测试URl   必需项
               Encoding = null,//编码格式(utf-8,gb2312,gbk)     可选项 默认类会自动识别
               //Encoding = Encoding.Default,
               Method = "get",//URL     可选项 默认为Get
               CookieCollection = result.CookieCollection,
               ResultCookieType = ResultCookieType.CookieCollection
           };

 楼主| 发表于 2014-6-6 09:13:29 | 显示全部楼层
类我会用。在其它站也都正常。但是这个涉及到WebBrowser获取cookie  再交给HttpWebRequest来处理,中间就有一些问题了。一直无法传递成功。
 楼主| 发表于 2014-6-6 15:58:32 | 显示全部楼层
没人?
回复

使用道具 举报

发表于 2014-6-6 16:02:54 | 显示全部楼层
都告诉你教程并写上代码了,你测试了吗,你光说会用,你上面的代码就没有加ResultCookieType = ResultCookieType.CookieCollection 怎么可能会生效
 楼主| 发表于 2014-6-6 16:05:14 | 显示全部楼层
ResultCookieType跟你提交的Cookie有什么关系?

我现在是获取WebBrowser中的cookies 再去请求淘宝的订单页。

现在确定的问题就是获取的Cookies不对。具体是哪里不对,还不清楚。
 楼主| 发表于 2014-6-6 16:20:58 | 显示全部楼层
已经搞定了。
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

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

GMT+8, 2024-12-23 11:09

© 2014-2021

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