C# Fiddler插件实现网站离线浏览功能

 更新时间:2017年02月13日 09:52:46   作者:Frank.Cui  
本文主要介绍了C# Fiddler插件实现网站离线浏览功能的原理与方法。具有很好的参考价值,下面跟着小编一起来看下吧

有这么一种应用场景:

你是做前端或APP开发的,需要调用服务端提供的接口,接口只能在公司内网访问;在公司外就无法调试代码了。

想在公司外访问怎么办呢?

如果在公司的时候将所有接口的响应内容都保存起来,就可以脱离服务端在本地模拟出来一个服务端环境,从而就可以不受网络环境的限制愉快的调试代码了。

实现原理如下:

先用Fiddler抓包,把你需要保存的接口(不仅限接口,html,css,js,image均可)都抓一遍。

在Fiddler中依次单击如下菜单 File -> Save -> All Sessions,将抓到的所有请求保存为一个saz文件。

saz文件中即包含了请求/响应的所有信息,是一个zip格式的文件,在raw目录会有如下命名的文件,例如:

001_c.txt、001_s.txt、001_m.xml

001表示请求序号,例如:001,002,003

001_c.txt 是HTTP请求的完整信息(包含请求头)

001_s.txt 是HTTP响应的完整信息(包含响应头)

001_m.xml 是Fiddler Session的相关信息(本例中用不到)

有了请求/响应信息,我们就可以写一个Fiddler插件把saz里能匹配到的请求都用对应的响应替换,从而实现离线浏览功能。

代码比较简单我就不贴了,后面有完整代码下载。

说下插件用法:

 

  1. 把saz解压到一个目录,在文本框处粘贴目录路径,多个saz路径用换行分隔。其实这里可以做成直接粘贴saz文件路径,由插件自动解压更方便;我懒,没做^_^
  2. 单击“保存”
  3. 现在再访问之前抓过的地址,就不走服务器了。

源码下载:单击下载

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!

相关文章

  • c# 颜色选择控件的实现代码

    c# 颜色选择控件的实现代码

    这篇文章主要介绍了c# 颜色选择控件的实现代码,帮助大家更好的理解和学习使用c#,感兴趣的朋友可以了解下
    2021-04-04
  • C#实现文件夹的复制和删除

    C#实现文件夹的复制和删除

    这篇文章主要为大家详细介绍了C#实现文件夹的复制和删除功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • 详解Winform里面的缓存使用

    详解Winform里面的缓存使用

    这篇文章主要介绍了Winform里面的缓存使用,有需要的朋友可以参考一下
    2014-01-01
  • C#对象与XMl文件之间的相互转换

    C#对象与XMl文件之间的相互转换

    本文是对C#中对象与XMl文件之间的相互转换进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2013-10-10
  • C#多线程之线程同步WaitHandle

    C#多线程之线程同步WaitHandle

    这篇文章介绍了C#多线程之线程同步WaitHandle的用法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • C#引用类型作为方法的参数分析

    C#引用类型作为方法的参数分析

    这篇文章主要介绍了C#引用类型作为方法的参数分析,以实例的形式较为详细的分析了参数的传值问题,需要的朋友可以参考下
    2014-11-11
  • C#提取PDF中指定文本与图片坐标的示例代码

    C#提取PDF中指定文本与图片坐标的示例代码

    这篇文章主要为大家详细介绍了如何使用国产PDF库通过C# 提取PDF中指定文本或图片的坐标位置(X, Y轴),感兴趣的小伙伴可以跟随小编一起学习一下
    2023-12-12
  • 深入理解.NET中的异步

    深入理解.NET中的异步

    异步编程是程序设计的重点,在实际的项目,在大量的数据入库以及查询数据并进行计算的时候,程序的UI界面往往卡死在那里,这时候就需要对计算时间限制的过程进行异步处理,同时正确的使用异步编程去处理计算限制的操作和耗时IO操作还能提升的应用程序的吞吐量及性能
    2021-06-06
  • C#用递归算法解决经典背包问题

    C#用递归算法解决经典背包问题

    背包问题有好多版本,本文只研究0/1版本,即对一个物体要么选用,要么就抛弃,不能将一个物体再继续细分的情况。
    2016-06-06
  • C#中的委托、事件学习笔记

    C#中的委托、事件学习笔记

    这篇文章主要介绍了C#中的委托、事件学习笔记,本文讲解了委托delegate、事件的相关知识并给出代码实例,需要的朋友可以参考下
    2015-01-01

最新评论