苏飞论坛

标题: HttpHelper万能框架GetMergeCookie的问题 [打印本页]

作者: 小哲    时间: 2016-10-21 18:05
标题: HttpHelper万能框架GetMergeCookie的问题
本帖最后由 小哲 于 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 "";
        }
















作者: cload    时间: 2016-10-21 18:22
自己写了个方法解决了这个,账号也登录成功了。勿喷,,不知道框架那个是不是BUG。。。
你确定这个函数是你自己写的?
作者: 小哲    时间: 2016-10-21 18:24
cload 发表于 2016-10-21 18:22
自己写了个方法解决了这个,账号也登录成功了。勿喷,,不知道框架那个是不是BUG。。。
你确定这个函数 ...

东拼西拼写了一个...难道是你写的?
作者: cload    时间: 2016-10-21 18:25
小哲 发表于 2016-10-21 18:24
东拼西拼写了一个...难道是你写的?

呵呵,反正和我的一模一样……
作者: 小哲    时间: 2016-10-21 18:27
cload 发表于 2016-10-21 18:25
呵呵,反正和我的一模一样……

.....我找了好几个都不行,拼来拼去才写好
作者: cload    时间: 2016-10-21 18:30
小哲 发表于 2016-10-21 18:27
.....我找了好几个都不行,拼来拼去才写好

握手,有缘人,咱俩写的一模一样,一个字母也不差。
http://www.sufeinet.com/thread-11995-1-1.html
作者: 小哲    时间: 2016-10-21 19:11
cload 发表于 2016-10-21 18:30
握手,有缘人,咱俩写的一模一样,一个字母也不差。
http://www.sufeinet.com/thread-11995-1-1.htm ...

也可能在网上copy你的了。。。
作者: 站长苏飞    时间: 2016-10-21 21:01
我的框架也在更新,这个方法没去重复
作者: pdang9980    时间: 2016-10-23 22:27
赞一个     




欢迎光临 苏飞论坛 (http://www.sufeinet.com/) Powered by Discuz! X3.4