问题与思路

EditThisCookie是一个cookie管理器。可用于浏览器cookie的删除,编辑,搜索,锁定和屏蔽。

而我们正常f12 network或者其他抓包方式所查看到的cookie是这样的格式:


现在的需求是将这串cookie通过editthiscookie插件,全部替换原有页面的cookie。

可以看到插件中有个导入cookie的功能,但是它需要固定的json格式:


点击后是这样:

首先我们通过导入按钮的右侧导出cookie按钮来确定下json格式:


点击后复制的cookie格式是这样:

[
{"domain": ".4399.com","expirationDate": 2522293209,"hostOnly": false,"httpOnly": false,"name": "_4399stats_vid","path": "/","sameSite": "unspecified","secure": false,"session": false,"storeId": "0","value": "16583796095503754","id": 1
},
{"domain": ".4399.com","expirationDate": 1663463941,"hostOnly": false,"httpOnly": false,"name": "channel_cid","path": "/","sameSite": "unspecified","secure": false,"session": false,"storeId": "0","value": "3000","id": 2
},
{"domain": ".4399.com","expirationDate": 1663463941,"hostOnly": false,"httpOnly": false,"name": "channel_uid","path": "/","sameSite": "unspecified","secure": false,"session": false,"storeId": "0","value": "3000","id": 3
}
]

上方json代码中省略了下面其他cookie键值对。

从上方json代码可以发现key键的含义,如name是cookie的name,value是cookie中的value,而id是递增的。

由此我们可以写代码来完成这个转换工作,即将cookie字符串转换为插件可用的json格式。

代码(易语言)

如果你想通过其他编程语言来实现,也可以参考上方代码。

正则匹配的代码是这样的:

([\S]*?)=([\S]*?);

这里使用的是[\S]*?以防匹配到空格。

附件

这里放上易语言代码 文本格式(需要自行引用精易模块)

.版本 2
.支持库 spec.子程序 _按钮1_被单击
.局部变量 txt, 文本型
.局部变量 json_最终, 类_json
.局部变量 json_单个, 类_json
.局部变量 domain, 文本型
.局部变量 i, 整数型
.局部变量 name, 文本型
.局部变量 value, 文本型
.局部变量 arr_name, 文本型, , "0"
.局部变量 arr_value, 文本型, , "0"domain = “填写你需要的网站域名”txt = 编辑框1.内容正则_匹配批量name和value (txt, arr_name, arr_value)
调试输出 (“arr_name  ”, arr_name)
调试输出 (“arr_value  ”, arr_value).计次循环首 (取数组成员数 (arr_name), i)name = arr_name [i]调试输出 (“name  ”, name)value = arr_value [i]调试输出 (“value  ”, value)json_单个.清除 ()json_单个.置属性 (“domain”, domain, )json_单个.置属性 (“hostOnly”, “true”, 真)json_单个.置属性 (“httpOnly”, “true”, 真)json_单个.置属性 (“name”, name, )json_单个.置属性 (“path”, “/”, )json_单个.置属性 (“sameSite”, “unspecified”, )json_单个.置属性 (“secure”, “false”, 真)json_单个.置属性 (“session”, “true”, 真)json_单个.置属性 (“storeId”, “0”, )json_单个.置属性 (“value”, value, )json_单个.置属性 (“id”, 到文本 (i), 真)json_最终.加成员 (json_单个.取数据文本 (), , 真, )
.计次循环尾 ()编辑框2.内容 = json_最终.取数据文本 ().子程序 正则_匹配批量name和value, 整数型
.参数 源文本, 文本型, , 欲被匹配的文本
.参数 arr_name, 文本型, 参考 数组
.参数 arr_value, 文本型, 参考 数组
.局部变量 局_正则, 正则表达式类, , , 此类为精易模块里面的正则类,精易模块下载地址:http://ec.125.la/
.局部变量 局_匹配数, 整数型
.局部变量 局_计次, 整数型
.局部变量 局_子匹配数, 整数型清除数组 (arr_name)
清除数组 (arr_value).如果真 (局_正则.创建 (“([\S]*?)=([\S]*?);”, 源文本, 假, 假, 真, 真) = 假)调试输出 (“正则创建失败,请检查正则表达式语句是否有误!”, #错误图标, )返回 (0)
.如果真结束
局_匹配数 = 局_正则.取匹配数量 ()
.如果真 (局_匹配数 = 0)调试输出 (“匹配失败,请检检查正则语句是否有误,数量:0”, #错误图标, )返回 (0)
.如果真结束
局_子匹配数 = 局_正则.取子匹配数量 ()
.计次循环首 (局_匹配数, 局_计次).如果 (局_子匹配数 > 0)加入成员 (arr_name, 局_正则.取子匹配文本 (局_计次, 1, ))加入成员 (arr_value, 局_正则.取子匹配文本 (局_计次, 2, ))' 输出调试文本 (“匹配文本 ” + 到文本 (局_计次) + “ 中的子匹配文本 1:” + 局_正则.取子匹配文本 (局_计次, 1, )).否则' 输出调试文本 (“匹配文本 ” + 到文本 (局_计次) + “ :” + 局_正则.取匹配文本 (局_计次, )).如果结束.计次循环尾 ()
返回 (局_匹配数)

将cookie字符串转成editthiscookie插件的json格式相关推荐

  1. 3、VBA网抓高德地图货车路径规划距离(借助刘永富老师插件解析JSON格式数据)

    Sub 高德货车()Dim x As MSXML2.XMLHTTP60Set x = New MSXML2.ServerXMLHTTP60With x.Open "GET", &q ...

  2. 4、<VBA>学习用刘永富老师插件解析JSON格式数据

    Sub 刘永富老师插件学习()Dim j As API.JSONSet j = New API.JSONj.Parse "{'data':{'route':{'destination':'1 ...

  3. PHP 判断字符串是否为正确对象/数组 Json 格式

    根据网上一堆人说的 json_last_error(),可以判断 json_decode 后的结果 我也没多想,试了一下: json_decode('123'); var_dump(json_last ...

  4. 字符串转换成JSON

    JS的字符串转换成JSON对象 好吧实际讲的是cookie字符串转换成json,原理都一样 要实现这一功能,首先,JS的字符串比如是这样的,querystring字符串.也就是有规律的吧,我在做xss ...

  5. java 字符串转成 json 数组并且遍历

    当需要把一串字符串转成一个json 数组 ,并遍历其中的内容时. 首先要导入 net.sf.json.JSONArray和net.sf.json.JSONObject 两个jar 包 String s ...

  6. php怎么字符串转成json对象_php中json字符串转换为对象?

    在PHP中,可以使用json_decode()函数来将json字符串转换为PHP对象.json_decode()函数用于解码JSON字符串,把json字符串转成对象或数组,默认转成对象:设置函数的第二 ...

  7. java js对象转字符串数组_js 转json格式的字符串为对象或数组(前后台)的方法

    一.前台 // 转换成对象 var myObject = JSON.parse(_data); alert("对象:"+myObject.msg); // 转换成数组 var my ...

  8. 二进制和字符串之间的互相转换 及 json文件和csv文件

    二进制和字符串之间的互相转换 及 json文件和csv文件 二进制和字符串之间的互相转换 字符串转二进制 将字符串数据转换成二进制数据 str1 = 'abc' b_str1 = b'abc' # 在 ...

  9. layui中的table使用心得,json格式处理,json转字符串,json转对象,json转对象数组,layui表格图片显示修改。

    文章目录 案例一.layui中table,后台数据是json格式的处理 1. 前端显示样式 2. 前端代码 3. 后端代码:layui前端表格需要返回的数据格式要求示例 4. json格式处理工具类: ...

最新文章

  1. linux c 通过套接字获取本地远程地址信息 getsockname getpeername 简介
  2. Sentinel授权规则及规则持久化
  3. 通过JSR250规范 提供的注解@PostConstruct 和@ProDestory标注的方法
  4. vue使用iview Timeline 时间轴不显示问题
  5. 高速率AVS整数变换的汇编实现与优化
  6. 开源开放 | 中文相对复杂词汇识别数据集RCWI-Dataset(CCKS2021)
  7. Cat.5e/Cat.6系统测试要点和常见工程问题解答
  8. python tab补全
  9. Android使用自定义字体(自定义view)
  10. android学习笔记---43_音乐播放器,音频采集,音乐播放,使用SoundPool播放音效
  11. 动力环境监控系统论文_浅析建设智能化动力环境监控系统维护水平论文
  12. Visual C++ 2010 Express 中文版的下载地址
  13. linux命令之拒绝服务-关机重启shutdown-init0-6删库(滑稽脸)
  14. olcd12864的u8g2库_玩转u8g2 OLED库,一篇就够
  15. itunes没法ipa_上传了ipa但iTunes Connect没有构建版本问题
  16. 华为云服务器双十一报价表出炉最新内容
  17. supervised domain adaption
  18. 在Sql Server 中调用Jmail组件发送邮件
  19. Using getResponseBodyAsStream instead is recommended
  20. 《缠中说禅108课》20:缠中说禅走势中枢级别扩张及第三类买卖点

热门文章

  1. 深度学习(VGG模型)
  2. 新媒体研究杂志社新媒体研究编辑部新媒体研究杂志2022年第18期目录
  3. Java毕业设计-电影售票管理系统
  4. 性能测试模型初探及应用方法分析
  5. GCN学习:Pytorch-Geometric教程(二)
  6. HTML5作业自我评价,web前端工程师自我评价简历范文
  7. 卡方检验的基本原理详解
  8. Java集合的接口和类层次结构图以及代码示例
  9. 走近求伯君1 求伯君,1964年11月26日出生于浙江新昌县。
  10. Linux4种常用软件安装方法(源代码,二进制,rpm,yum)