苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

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

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

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

查看: 7720|回复: 16

[HttpHelper] XP环境下取不到完整cookie,win10环境下运行可以

[复制链接]
发表于 2016-7-8 08:43:30 | 显示全部楼层 |阅读模式
我是个小白菜鸟,用winform写了一段后台登录百度的代码,在win10上运行正常,XP下运行百度返回浏览器未开启cookie,查看cookie之后发现XP下取到的少了很多,不知道是什么情况。
WIN10下取到的时候这三组 {HOSUPPORT=1}{UBI=XX}{$Version=1; BAIDUID=XX:FG=1; $Path=/; $Domain=.baidu.com}
而XP下只取到了{$Version=1; BAIDUID=XX:FG=1; $Path=/; $Domain=.baidu.com}

问题2:我用这串代码,想带cookie打开IE,但是不管在xp还是WIN10下,都无效。HttpHelper.StartIe("http://www.baidu.com/", baidu.cookies);


1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2016-7-8 08:53:00 | 显示全部楼层
HttpHelper.StartIe这个的关键在于这个方法
 楼主| 发表于 2016-7-8 09:03:47 | 显示全部楼层
站长苏飞 发表于 2016-7-8 08:53
HttpHelper.StartIe这个的关键在于这个方法

站长这个方法要怎么弄吗,还有问题1XP下是怎么回事
发表于 2016-7-8 09:33:11 | 显示全部楼层
我意思是问题可能出在你的这个方法里,这就要看你的这个方法是怎么写的。才能知道问题所在
发表于 2016-7-8 09:34:59 | 显示全部楼层
留个脚印表示我来过!
 楼主| 发表于 2016-7-8 09:38:20 | 显示全部楼层
站长苏飞 发表于 2016-7-8 09:33
我意思是问题可能出在你的这个方法里,这就要看你的这个方法是怎么写的。才能知道问题所在

[C#] 纯文本查看 复制代码
        public static void StartIe(string url, CookieContainer cookieData)
        {

            GetAllCookies(cookieData).ForEach(c =>
            {
                var value = string.Format("{0}={1};expires={2}; path={3}", c.Name, c.Value,
                    DateTime.Now.AddDays(100).ToString("R"), c.Path);
                InternetSetCookie(string.Format("http://{0}", c.Domain.TrimStart('.')), null,
                    value);
                InternetSetCookie(string.Format("http://{0}", c.Domain), null, value);
                InternetSetCookie(string.Format("http://www{0}", c.Domain), null, value);
            });
            Process.Start("iexplore.exe", url);
        }


方法是这个
发表于 2016-7-8 09:54:55 | 显示全部楼层
InternetSetCookie 会不会是你这个设置Cookie的方法无效,你换个别的网站试试,先验证一下这个方法是否管用
 楼主| 发表于 2016-7-8 11:15:27 | 显示全部楼层
站长苏飞 发表于 2016-7-8 09:54
InternetSetCookie 会不会是你这个设置Cookie的方法无效,你换个别的网站试试,先验证一下这个方法是否管用

第二个问题的确是因为InternetSetCookie不能跨进程的问题,那站长第一个问题win10登录正常,XP下不正常返回未开启cookie的问题怎么解决
发表于 2016-7-8 11:19:03 | 显示全部楼层
btlike 发表于 2016-7-8 11:15
第二个问题的确是因为InternetSetCookie不能跨进程的问题,那站长第一个问题win10登录正常,XP下不正常返 ...

分别抓一下包,看看提交的参数有什么不同,应该是系统环境有关比如Header,或者Useragent不同的原因
 楼主| 发表于 2016-7-8 11:34:14 | 显示全部楼层
站长苏飞 发表于 2016-7-8 11:19
分别抓一下包,看看提交的参数有什么不同,应该是系统环境有关比如Header,或者Useragent不同的原因

这个会导致httphelper取到的cookie不一样?我现在就发现了xp下取到的cookie比win10下的少两条
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

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

GMT+8, 2024-12-29 04:19

© 2014-2021

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