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

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

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

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

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

查看: 4858|回复: 4

[反馈建议] cookie操作遇到的几个问题和建议

[复制链接]
发表于 2018-6-12 11:16:03 | 显示全部楼层 |阅读模式
QQ图片20180612110021.png

箭头所示地方多了一个空格,导致每个cookie在最后用分号分割之后,分号前面都有一个空格,
而如果自己手动往cookie string里面添加cookie的时候肯定不会留空格,在合并的时候就会出现重复cookie(因为这个方法里判断的是整个cookie相等,而不是判断cookie name相等:严谨的做法应该是再分割一次判断cookie的name)
//排除重复项
                if (cookielist.Contains(item)) continue;
                //对接Cookie基本的Key和Value串
                cookielist.Add(string.Format("{0}", item));


另外,为了容错率,两个字符串操作,item应该用上item.Trim()确保容错不严谨或失误的写法。(对于资源开销微乎其微)

QQ图片20180612111040.png

这个地方的等号分割,我遇到过一个问题。WT_FPC=id=2d2dbf8dc1d0762035b1528771982921:lv=1528771982921:ss=1528771982919;
有一个站点的cookie是这样的,用等号分割,判断数组长度2的时候就直接把这个丢弃了,导致登录失败

本帖被以下淘专辑推荐:



1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2018-6-13 08:33:04 | 显示全部楼层
这个方法已经更新了,还没到发布的时候,以往的技术方案不管你是怎么优化都会有Bug的,我留一个空格是需要留,你再看看,他真的是有用的。
发表于 2018-6-13 08:34:01 | 显示全部楼层
你提的建议非常好,我采纳了,当然我也会换一种新的方法,没有结构的方式总是会有问题,正则也是解决不了的,Cookie的格式变化性比较大,
 楼主| 发表于 2018-6-19 18:41:04 | 显示全部楼层
sufeinet 发表于 2018-6-13 08:34
你提的建议非常好,我采纳了,当然我也会换一种新的方法,没有结构的方式总是会有问题,正则也是解决不了的 ...

额,那个空格我暂时还没发现用处是什么,我最近用的比较少。
我主要还是用geckofx结合万能框架在做,cookie操作这你空了就改改就是了,尽可能的容错,毕竟这个是最重要的操作之一。

另外还有个问题想问一下,更新cookie为啥不写成直接新旧cookie合并,而是用新cookie替换Item里的cookie呢。我之前看到updatecookie那个参数的时候,我还以为是相当于自动合并新老cookie
发表于 2018-6-20 08:25:23 | 显示全部楼层
kjhdfkhd5877 发表于 2018-6-19 18:41
额,那个空格我暂时还没发现用处是什么,我最近用的比较少。
我主要还是用geckofx结合万能框架在做,coo ...

会有很多重复的,另外格式需要规范一下,这个我下一步准备给大家一个选择,是合并,还是合并格式化,或者是直接原样不动的合并这个可自己配置
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

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

GMT+8, 2024-12-19 19:53

© 2014-2021

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