zoukankan      html  css  js  c++  java
  • 使用FreeCookies 控制浏览器cookies及修改http响应内容

    FreeCookies 插件安装

    1:您的计算机需要已经安装Fiddler (如未安装,请至官网下载安装 http://docs.telerik.com/fiddler/configure-fiddler/tasks/configurefiddler

    2:进入Fiddler安装目录下的Scripts目录下,将FreeCookies.dll复制到该目录下  (下载请至:https://github.com/lulianqi/FreeCookies/raw/master/bin/Debug/FreeCookies.dll 或 http://lulianqi.com/file/FreeCookies.dll   )

     

    3:重启Fiddler即可在面板中出现 free cookies 标签

     

     

     

    FreeCookie使用

    • 通过截获浏览器请求response head头,并修新增set cookie头,达到修改浏览器cookies的效果

      1: 获取/编辑 cookies 

     

     如上图通过在Fiddler左侧session面板中选择任意请求,点击『Get Cookies』按钮即可获取该请求所带有的所有Cookies

      

     获取cookies后,会显示在UI界面中,A区域为cookies原始信息,B区域为cookies的格式化列表展示,C区域编辑区可以对B中单条cookie进行编辑

       B中选择任意cookie可在C区域对KeyVaule进行编辑,点击『√』确认修改,『+』添加一条新cookie,『-』删除选定cookie  (被修改的cookie项背景颜色会改变)

     

       2: cookie添加属性 domain path 等  默认会为每个cookie添加 path = / 的属性

      

    B区列表双击任意cookie项,弹出编辑框(如下图)

      可在Attributes中修改属性 点击『comfirm』按钮确认修改 (水印为示例)

     

     添加属性后会显示在B

     

    在A区域直接编辑

         如果您了解Cookies的标准格式,您可以在A区直接编辑Cookies(当格式错误时该区文字会变为红色)

         注意如果在A区对Cookies进行过编辑,所有cookie使用默认属性

         可以复制保存A区的信息,用于后面的调试或发送给其他计算机使用。


          

    向浏览器写入Cookies

     

     

    编辑好cookies后,选择需要写入cookies的网站

    Url Filter 中填写需要写入的网站

    选择『Inject Cookies Inject Always

    Inject Cookies:  当浏览器发起请求且url包含Url Filter中的值,则cookies被写入浏览器,但仅写入一次即被置为失效 (因为一次写入浏览器就会得到指定cookies

    Inject Always:  当浏览器发起请求且url包含Url Filter中的值,则cookies被写入浏览器,该策略会一直有效,直到用户取消勾选

     

     

    如图当浏览器请求baidu时,写入操作发生。(被修改过的请求在session列表中会显示黄色高亮,并有log打印)

     

     

    在浏览器中可以看到Cookies已经被写入同时也加上了HttpOnly 属性(有2个是因为Url Filter 仅匹配了www.baidu.com, 所有 baidu.com/img 也匹配成功了,2cookies路径不同)

    若需要完全匹配则在Url Filter*开头即可,全匹配需要带上http//协议名 及?后查询参数 (*https://www.baidu.com/   表示完全匹配首页请求,https://www.baidu.com/test 也不会被匹配)

    如果 Url Filter填空则表示匹配任意请求 

     

    在浏览器中直接写入微信或支付宝公众号Cookie,到任意站点甚至本地ip进行本地调试,也可以在不同客户端浏览器之间共享cookies

     

     

    • 通过插件修改response

     

     

    Free cookies 可以辅助修改请求的响应头及响应内容,主要是方便即时替换(对response的完全控制及其他编辑功能,可以直接使用Fiddler自带AutoResponser功能,使用方法详见http://docs.telerik.com/fiddler/knowledgebase/autoresponder

    Change Response 也同样使用Url Filter 中的筛选,一旦匹配成功且Enable Change处于勾选状态,该请求内容的返回内容中Replace 指定字符串被替换为下方内容(上图可乐被替换为娃哈哈),同时右边heads列表中内容会被添加到响应头中

     

    Change Response 启用Response修改功能

    Only Add Head Response仅添加头部

    Regex Replace中的内容是否为正则表达式

    Replace :需要替换的内容,如果该项为空,则代表整个替换(Response会被整个替换为下部文本框中内容)

     

    被修改后的请求,在session列表中背景色会显示为暗红色

    下图为将jd.com 网站内容中可乐替换为娃哈哈的效果

     

     

    部分情况下我们只需要更改返回的heads,比如通知浏览器强制更新,或禁用缓存

    下图为指定网页https://item.jd.com/4431446.html 禁用缓存(添加Cache-control: no-store返回头)的例子。

     

     

    下图为直接替换https://www.baidu.com/ 页面(替换的内容为bing的首页html内容)

    将replace填空,下方内容填写完整的html(也可以是其他返回json,xml等)

     

     

     

    • 使用RAW模式完全控制相应(包括响应行及响应头)

    使用RAW模式需要您对HTTP response格式有一定了解

     

    点击如图 raw模式图标切换进入 Raw 编辑模式

    『Please select template』:您可以选择一个http相应模板,然后在模板中进行编辑,当然您也可以不使用任何模板

    『Enabled』:是否启用替换功能

    『Response Direct』:勾选此项请求将直接返回客户端,而不向服务器发送请求

    点击右侧关闭图标可退出Raw编辑模式

    Url匹配仍然使用上文 Url Filter (匹配规则维持一致)

     

    使用Raw  将baidu重定向到google

     

    如上图在Url FIlter处填写匹配规则

    选择302 Redirect模板,修改模板中lacation内容

    在baidu下次请求时即会返回我们指定的内容 (如下图)

     

     

    使用Raw模式直接返回文件等二进制数据

    如图完成配置,在返回实体中按上图格式填写本地文件地址(可以在编辑区域鼠标右键选择add file 完成本地文件的添加)

    效果如下图

     

     

    FreeCookies插件源代码(gitbub :  https://github.com/lulianqi/FreeCookies   )

     

  • 相关阅读:
    HTML+CSS笔记 CSS进阶续集
    HTML+CSS笔记 CSS进阶
    HTML+CSS笔记 CSS入门续集
    HTML+CSS笔记 CSS入门
    test
    Python Paramiko模块安装和使用
    RedHat升级Python到2.7.6
    python数据库操作常用功能使用详解(创建表/插入数据/获取数据)
    5、使用EF对后台SysSample数据增删改查
    4、创建SQL数据库,添加EF实体数据模型
  • 原文地址:https://www.cnblogs.com/lulianqi/p/9481203.html
Copyright © 2011-2022 走看看