zoukankan      html  css  js  c++  java
  • HttpHelper万能框架GetMergeCookie的问题

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

    OldCookie

    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

    F9ZL_2132_lastact=1477043656%09misc.php%09seccode

    HttpHelper.GetMergeCookie 合并更新后  导致有两个 F9ZL_2132_lastact=

    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

    正确更新:

    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。。。

    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 "";
           }
  • 相关阅读:
    spring cloud与dubbo的区别
    进程与线程的区别
    机电传动控制第三周计算与plesc仿真
    plecs仿真
    机电传动控制第二周笔记
    机电传动控制第一周笔记
    PLECS软件学习使用(一)简单的RLC电路搭建
    《自动化技术中的进给电气传动》第一章的1.1节和1.2节读书笔记(一)
    机电传动控制第一周学习笔记
    PLC控制伺服电机
  • 原文地址:https://www.cnblogs.com/testsec/p/5985704.html
Copyright © 2011-2022 走看看