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

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

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

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

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

查看: 7742|回复: 8

[反馈建议] HttpHelper万能框架GetMergeCookie的问题

[复制链接]
发表于 2016-10-21 18:05:13 | 显示全部楼层 |阅读模式
本帖最后由 小哲 于 2016-10-21 18:29 编辑

用万能框架写了一个DZ带验证码POST登录一直错误 http://www.sufeinet.com/thread-17795-1-1.html 调试半天发现是框架GetMergeCookie的问题,,,真坑。。。

OldCookie
[C#] 纯文本查看 复制代码
F9ZL_2132_saltkey=oHLnJLwj;F9ZL_2132_lastvisit=1477040054;
F9ZL_2132_sid=ZsTR8p;
F9ZL_2132_lastact=1477043654%09member.php%09logging;
F9ZL_2132_pc_size_c=0;
F9ZL_2132_stats_qc_reg=deleted



NewCookie
[C#] 纯文本查看 复制代码
F9ZL_2132_lastact=1477043656%09misc.php%09seccode


HttpHelper.GetMergeCookie 合并更新后  导致有两个 F9ZL_2132_lastact=
[C#] 纯文本查看 复制代码
F9ZL_2132_saltkey=oHLnJLwj ;
F9ZL_2132_lastvisit=1477040054 ;
F9ZL_2132_sid=ZsTR8p ;
F9ZL_2132_lastact=1477043654%09member.php%09logging ;
F9ZL_2132_pc_size_c=0 ;
F9ZL_2132_stats_qc_reg=deleted ;
F9ZL_2132_lastact=1477043656%09misc.php%09seccode


正确更新后:
[C#] 纯文本查看 复制代码
F9ZL_2132_saltkey=oHLnJLwj;
F9ZL_2132_lastvisit=1477040054;
F9ZL_2132_sid=ZsTR8p;
F9ZL_2132_lastact=1477043656%09misc.php%09seccode;
F9ZL_2132_pc_size_c=0;
F9ZL_2132_stats_qc_reg=deleted


拼了个方法解决了这个,账号也登录成功了。勿喷,,不知道框架那个是不是BUG。。。
[C#] 纯文本查看 复制代码
 public static string MergerCookies(string OldCookie, string NewCookie)
        {
            if (!string.IsNullOrEmpty(OldCookie) && !string.IsNullOrEmpty(NewCookie))
            {
                if (OldCookie == NewCookie) return OldCookie;
                else
                {
                    List<string> Old = new List<String>(OldCookie.Split(';'));
                    List<string> New = new List<String>(NewCookie.Split(';'));
                    foreach (string n in New)
                    {
                        foreach (string o in Old)
                        {
                            if (o == n || o.Split('=')[0] == n.Split('=')[0])
                            {
                                Old.Remove(o);
                                break;
                            }
                        }
                    }
                    List<string> list = new List<string>(Old);
                    list.AddRange(New);
                    return string.Join(";", list.ToArray());
                }
            }
            else if (!string.IsNullOrEmpty(OldCookie)) return OldCookie;
            else if (!string.IsNullOrEmpty(NewCookie)) return NewCookie;
            else return "";
        }















本帖被以下淘专辑推荐:



1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2016-10-21 18:22:59 | 显示全部楼层
自己写了个方法解决了这个,账号也登录成功了。勿喷,,不知道框架那个是不是BUG。。。
你确定这个函数是你自己写的?
 楼主| 发表于 2016-10-21 18:24:24 | 显示全部楼层
cload 发表于 2016-10-21 18:22
自己写了个方法解决了这个,账号也登录成功了。勿喷,,不知道框架那个是不是BUG。。。
你确定这个函数 ...

东拼西拼写了一个...难道是你写的?
发表于 2016-10-21 18:25:44 | 显示全部楼层
小哲 发表于 2016-10-21 18:24
东拼西拼写了一个...难道是你写的?

呵呵,反正和我的一模一样……
 楼主| 发表于 2016-10-21 18:27:05 | 显示全部楼层
cload 发表于 2016-10-21 18:25
呵呵,反正和我的一模一样……

.....我找了好几个都不行,拼来拼去才写好
发表于 2016-10-21 18:30:39 | 显示全部楼层
小哲 发表于 2016-10-21 18:27
.....我找了好几个都不行,拼来拼去才写好

握手,有缘人,咱俩写的一模一样,一个字母也不差。
http://www.sufeinet.com/thread-11995-1-1.html
 楼主| 发表于 2016-10-21 19:11:00 | 显示全部楼层
cload 发表于 2016-10-21 18:30
握手,有缘人,咱俩写的一模一样,一个字母也不差。
http://www.sufeinet.com/thread-11995-1-1.htm ...

也可能在网上copy你的了。。。
发表于 2016-10-21 21:01:57 | 显示全部楼层
我的框架也在更新,这个方法没去重复
发表于 2016-10-23 22:27:43 | 显示全部楼层
赞一个     
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

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

GMT+8, 2024-11-22 02:44

© 2014-2021

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