回到顶部

阅读目录

使用 fiddler 脚本按指定编码保存到文件

在使用 Fiddler 脚本来操作文件时,特别是当需要控制文件的编码方式时,你需要利用 FiddlerScript 中的一些特定方法和对象。不过,直接使用ActiveXObject 创建 Scripting.FileSystemObject 更多地是在 VBScript 或 JScript 中的操作,而不是 Fiddler 脚本的常规做法。Fiddler 脚本实际上使用的是 JScript.NET,它允许你实现相似的功能,但方式可能会有所不同。

如果你的目的是在 Fiddle r中捕获 HTTP 响应并将其保存到文件,同时指定文件的编码格式,那么可以通过 Fiddler 脚本来实现。下面是一个示例脚本,它将捕获的HTTP 响应体保存到指定文件中,并且以UTF-8编码格式保存。

首先,需要打开 Fiddler,然后进入 Rules > Customize Rules... (或者按Ctrl + R),这会打开 CustomRules.js 文件,你可以在这里添加自定义的脚本。

在 CustomRules.js 文件中,找到 OnBeforeResponse 函数,然后添加以下脚本:

public static function OnBeforeResponse(oSession: Session) {
    // 检查是否是目标URL,这里以httpbin为例
    if (oSession.uriContains("httpbin.org")) {
        // 指定保存路径和文件名
        var sSavePath = "C:\\path\\to\\your\\file.txt";
        // 获取响应体
        var oBody = oSession.GetResponseBodyAsString();
        
        // 使用FileStream和StreamWriter保存文件
        try {
            var oFSO: System.IO.FileStream = new System.IO.FileStream(sSavePath, System.IO.FileMode.Create, System.IO.FileAccess.Write);
            var oSW: System.IO.StreamWriter = new System.IO.StreamWriter(oFSO, System.Text.Encoding.UTF8);
            oSW.Write(oBody);
            oSW.Close();
            oFSO.Close();
        } catch(e) {
            // 错误处理
            FiddlerObject.log("Error writing to file: " + e.toString());
        }
    }
}

请确保替换 sSavePath 变量的值为你想要保存文件的实际路径和文件名。

这段脚本中,我们首先检查了会话的 URI 是否包含 httpbin.org 这样一个特定字符串,这仅仅是一个例子,你需要根据实际情况修改这一部分。如果会话与我们的条件匹配,脚本就会从会话中提取响应体,然后使用 FileStream 和 StreamWriter 对象以 UTF-8 的编码格式将响应体写入指定的文件中。

请注意,操作文件和指定编码这样的操作可能会引发错误,例如文件路径不存在或文件无法被写入等。因此,在实际使用中,适当的错误处理是非常重要的,上面的脚本示例中也包含了基本的错误处理逻辑。


^_^
请喝咖啡 ×

文章部分资料可能来源于网络,如有侵权请告知删除。谢谢!

前一篇: 使用 Fiddler 的 AutoResponder 模拟本地数据返回,客户端报错:Data parsing exception Expected BEGIN_OBJECT but was STRING at path $
下一篇: 22款及以后的标致408喇叭更换材料和步骤