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 "";
       }
时间: 2024-11-05 03:32:13

HttpHelper万能框架GetMergeCookie的问题的相关文章

C#使用HttpHelper万能框架,重启路由器

首先声明,不是所有路由器都可以通过下面的代码来让路由器执行重启. 下面的代码测试的路由器是(TP-LINK TD-W89841N增强型).要根据自己的路由器来写代码. 1 using CsharpHttpHelper; //引用HttpHelper类库 2 using System; 3 using System.Text; 4 5 namespace ConsoleApplication1 6 { 7 class Program 8 { 9 static void Main(string[]

HttpHelper万能框架V1.6

下载地址:http://yun.baidu.com/share/link?uk=1745303310&shareid=1343567367 引入:System.Web和System.Web.Extensions

C#爬虫之~苏飞万能框架使用教程

苏飞的框架帮助类,很多人应该都知道,不知道可以百度,此处直接说用法. //引入命名空间 using CsharpHttpHelper; //创建Httphelper对象 HttpHelper http = new HttpHelper(); //创建Httphelper参数对象 HttpItem item = new HttpItem() { URL = "http://ok121.cn",//URL 必需项 Method = "get",//URL 可选项 默认为

将指定的Json字符串转为指定的T类型对象(转帖)

[HttpHelper万能框架]教程目录贴  http://www.sufeinet.com/thread-9989-1-1.html 在我们使用万能框架抓取数据时,我相信用的最多的一种格式可能就是Json格式了.因为大部分Ajax是采用的这种格式. 今天万能框架帮助您实现一个将Json转为对象的方法. 也就是说根据Json要吧自动生成一个对象出来. 大家就可以随意的调用了. 再也不用对疼使用正则怎么分析了. 使用之前先引用命名空间 01 using CsharpHttpHelper; 1.先来

笔记 日常的记录

https://item.taobao.com/item.htm?spm=a230r.1.14.40.7EVBVV&id=520725820346&ns=1&abbucket=6#detail 巧格格 树脂魔片组装衣柜简 <input value="新建" onclick="newEmptyOpportunity()" class="newButton" name="newButton" type

平庸技术流,用 WebApi +AngularJS 实现网络爬虫

最近园子里网络爬虫很火爆,从 PHP 到 Python,从 windows服务 到 winform 程序,各路大神各显神通.小弟也献下丑,从平庸流出发,简述下 WebApi +AngularJS 方式实现网络爬虫. 一.技术框架 1.1 前端: AngularJS,创建SPA(单页面应用).爬虫需要长时间的等待服务器返回结果,必须使用ajax实现,使用JQuery一样可以做到. 1.2 后端: WebApi.AngularJS 配合 WebApi 使用十分融洽. 1.3 后端用到的框架/库: a

游戏公司CTO带你做万能游戏框架【进阶就业班】

课程大纲 第一章 万能框架设计模式 设计模式  工厂模式 设计模式  策略模式 设计模式  观察者模式 设计模式  单例模式 互动答疑 第二章 设计模式  代理模式 设计模式  门面模式 设计模式  建造者模式 设计模式  组合模式 对模式用法总结 互动答疑 第三章 万能框架之框架实现 框架原理讲解 框架实现  消息类 实现 框架实现之 事件系统,数据结构 消息链表实现 框架实现   各个模块manager 互动答疑 第四章 框架实现  个模块基础类 框架实现  使用注意事项 互动答疑 第五章

框架与类库的区别(转载)

发现一片不错的文章,内容全是转载. 一起来看吧. ********************** 框架和类库等概念的出现都是源于人们对复用的渴望.“不要重复发明轮子”,成了软件界的一句经典名言.从最初的单个函数源代码的复用,到面向对象中类的复用(通常以类库的形式体现),再到基于组件编程中二进制组件(.NET中是以IL程序集形式存在的)的复用,人们复用软件的抽象层次越来越高.现在,框架复用是抽象层次的又一提升,框架的复用不仅仅是功能的复用,更是设计的复用. 1.1 框架与类库的区别 我们先来简单说说

对于程序框架的理解

框架和类库等概念的出现都是源于人们对复用的渴望."不要重复发明轮子",成了软件界的一句经典名言.从最初的单个函数源代码的复用,到面向对象中类的复用(通常以类库的形式体现),再到基于组件编程中二进制组件(.NET中是以IL程序集形式存在的)的复用,人们复用软件的抽象层次越来越高.现在,框架复用是抽象层次的又一提升,框架的复用不仅仅是功能的复用,更是设计的复用. 1.1 框架与类库的区别 我们先来简单说说什么是类库(Class Library)?望文生义,类库就是一些类的集合,只要我们将一