Fiddler:如何读取本地文件修改Request参数
2017-06-01 11:02
1721 查看
我将在学习Fiddler的路上,一路狂奔……
需求:读取本地文件,修改request的值
第一步:读取本地文件的方法
知识点解析:
var fso = new ActiveXObject(“Scripting.FileSystemObject”);
语法:
FileSystemObject.OpenTextFile(fname,mode,create,format)
var f = fso.OpenTextFile(filename,1);
打开filename文件用于读取数据,仅仅是读取数据。
如果文件指针位于 TextStream 文件的末尾,AtEndOfStream 属性返回 True ,否则返回 False 。
注释:此属性仅工作于以只读方式打开的 TextStream 对象。
第二步:在OnBeforeRequest方法中调用readFile方法,获得文件内容,修改request的body
就这样两步就实现了读取本地文件修改Request参数。可以举一反三,实现读取本地文件修改Response参数,你知道怎么做吗?
需求:读取本地文件,修改request的值
第一步:读取本地文件的方法
class Handlers { …… //读取本地文件的方法 static function readFile(filename) { //TODO:目前只支持了英文读写,后续需要支持中文 //FiddlerObject.alert("readFile"); var fso = new ActiveXObject("Scripting.FileSystemObject"); var f = fso.OpenTextFile(filename,1); var s = ""; while (!f.AtEndOfStream) s += f.ReadLine()+"\n"; f.Close(); // FiddlerObject.alert(s); return s; } …… }
知识点解析:
FileSystemobject
要在javascript中实现文件操作功能,主要就是依靠FileSystemobject对象。var fso = new ActiveXObject(“Scripting.FileSystemObject”);
OpenTextFile
OpenTextFile 方法打开指定的文件,并返回可用来访问此文件的 TextStream 对象。语法:
FileSystemObject.OpenTextFile(fname,mode,create,format)
参数 | 描述 |
---|---|
fname | 必需的。要打开的文件的名称。 |
mode | 可选的。如何打开文件。 |
1=ForReading - 打开文件用于读取数据。您无法向此文件写数 | |
2=ForWriting - 打开文件用于写数据。 | |
8=ForAppending - 打开文件,并向文件的末尾写数据。 | |
create | 设置如果文件名不存在,是否创建新文件。True 指示可创建新文件,而 False 指示新文件不会被创建。False 是默认的。 |
format | 可选的。文件的格式。 |
0=TristateFalse - 以 ASCII 打开文件。默认。 | |
-1=TristateTrue - 以 Unicode 打开文件。 | |
-2=TristateUseDefault - 使用系统默认格式打开文件。 |
打开filename文件用于读取数据,仅仅是读取数据。
AtEndOfStream
TextStream的属性如果文件指针位于 TextStream 文件的末尾,AtEndOfStream 属性返回 True ,否则返回 False 。
注释:此属性仅工作于以只读方式打开的 TextStream 对象。
第二步:在OnBeforeRequest方法中调用readFile方法,获得文件内容,修改request的body
class Handlers { …… static function readFile(filename){ } static function OnBeforeRequest(oSession: Session) { …… // 1. 匹配 url. if (oSession.HostnameIs("sdk.api.kaffnet.com") && oSession.uriContains("/v4/m.php")) { oSession["ui-color"] = "orange"; // 2. 替换 request body var body = oSession.GetRequestBodyAsString(); var string = readFile("D:\\jiemi_sdk.txt"); body = string; // FiddlerObject.alert(string); oSession.utilSetRequestBody(body); } …… } …… }
就这样两步就实现了读取本地文件修改Request参数。可以举一反三,实现读取本地文件修改Response参数,你知道怎么做吗?
相关文章推荐
- 如何修改boot.ini文件的pae|awe|3gb参数
- jdom 或 dom4j读取xml文件时如何让dtd验证使用本地dtd文件或者不生效
- flex读取本地文件,修改,并保存到本地
- 如何修改本地hosts文件
- 如何自定义修改kettlle默认读取kettle.properties文件路径
- jdom 或 dom4j读取xml文件时如何让dtd验证使用本地dtd文件或者不生效
- phpadmin如何导入导出大数据文件及php.ini参数修改
- QT如何从配置文件读取参数并保存最近使用的参数
- jdom 或 dom4j读取xml文件时如何让dtd验证使用本地dtd文件或者不生效
- MultipartHttpServletRequest如何读取文件的
- 如何读取、修改文本文件
- 读取扫描版的Pdf文件 如何修改扫描版的pdf文件
- 如何使用wrapper在filter修改request参数
- 嵌入式 如何使用jlink从flash中读取数据保存为bin文件到本地
- 如何读取、修改文本文件
- jdom或dom4j读取xml文件时如何让dtd验证使用本地dtd文件或者不生效
- 如何让IE读取本地网页时不提示“Internet Explorer 已经限制此文件显示可能访问您的计算机的活动内容。”
- 如何修改TFS本地文件映射路径
- 如何获取到文件的创建时间,修改时间等参数
- 如何读取一个本地Json文件并查询该文件展示其内容