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

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

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

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

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

查看: 3944|回复: 6

[HttpHelper] http 和 web抓取的cookie不一样。

[复制链接]
发表于 2015-3-12 01:30:27 | 显示全部楼层 |阅读模式
1金钱
以百度  www.baidu.com为例,
加载到页面,webbrowser获取的cookie为8个,
http
3 = response.Cookies.Count;
1 = request.CookieContainer.Count;



这究竟是是为什么啊?



1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2015-3-12 08:31:45 | 显示全部楼层
那是因为你有些请求没有发送。Http只封装了一部分请求。
回复

使用道具 举报

 楼主| 发表于 2015-3-12 08:45:39 | 显示全部楼层
acmluoyong 发表于 2015-3-12 08:31
那是因为你有些请求没有发送。Http只封装了一部分请求。

我发送完了还是没有获取到。
回复

使用道具 举报

发表于 2015-3-12 09:10:39 | 显示全部楼层
Webbrower里面封装好了。你加载地址,他会根据网页本身的设计去发送请求的,所以有三次就不奇怪了。如果你用http发送有多次就看你有没有更新你的CookieContainer了。
回复

使用道具 举报

 楼主| 发表于 2015-3-12 17:15:25 | 显示全部楼层
acmluoyong 发表于 2015-3-12 09:10
Webbrower里面封装好了。你加载地址,他会根据网页本身的设计去发送请求的,所以有三次就不奇怪了。如果你 ...

楼下我贴代码
回复

使用道具 举报

 楼主| 发表于 2015-3-12 17:17:23 | 显示全部楼层
  webBrowser1.Navigate("www.baidu.com");
            List<CookieItem> cookieList = CookieHelper.GetCookieList(webBrowser1.Document.Cookie);

这里是6
--------------------------------------------------------------------
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("http://www.baidu.com/");

            request.CookieContainer = new CookieContainer();

            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            int count = response.Cookies.Count;  这里是2
            int count2 = request.CookieContainer.Count; 这里是3

回复

使用道具 举报

发表于 2015-3-13 22:34:28 | 显示全部楼层
我觉得这个可能是因为你请求的封装包不一样,导致百度服务器对你发送的Cookie数据不同。只能这样去理解了。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-4 11:47

© 2014-2021

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