博客
关于我
Fiddler (二) : Script 的 用法
阅读量:570 次
发布时间:2019-03-11

本文共 1347 字,大约阅读时间需要 4 分钟。

Fiddler Script 高级用法

Fiddler Script 是 Fiddler 的一项强大功能,能够帮助开发者自动化处理 HTTP 请求和响应,无需手动设置断点。这项功能通过 CustomRules.js脚本实现,支持 JScript.NET 语言,具有丰富的用法和功能。

1. Fiddler Script 的核心功能

Fiddler Script 的主要用途在于修改和定制 HTTP 请求和响应,常见操作包括:

  • 修改请求和响应内容:通过定义 OnBeforeRequestOnBeforeResponse 函数,可以对 HTTP 请求和响应的头部、正文等进行修改。
  • 定制菜单和工具:可以添加自定义菜单和工具,提升工作效率。
  • 模拟网络环境:通过设置限速和延迟,模拟低速网络环境,用于性能测试。

2. 使用 Fiddler Script 修改 HTTP 请求

方法一:直接修改请求体

static function OnBeforeRequest(oSession: Session) {    if (oSession.uriContains("http://www.cnblogs.com/TankXiao/")) {        var strBody = oSession.GetRequestBodyAsString();        strBody = strBody.replace("1111", "2222");        oSession.utilSetRequestBody(strBody);    }}

方法二:使用工具函数

oSession.utilReplaceInRequest("1111", "2222");

3. Fiddler Script 的高级功能

  • 定制菜单:可以根据需求添加新的菜单项,例如定义 Q-UA 子菜单。
  • 模拟限速:通过 CustomRules.js 中的设置,实现对网络流量的控制。
  • 远程捕获移动设备请求:通过配置代理服务器,可以捕获 Android 和 iPhone 的网络请求。

4. Fiddler 的断点调试

Fiddler 提供多种断点设置方式:

  • 命令行方式:使用 bpu 命令设置请求断点,bps 设置响应断点。
  • 自动断点:通过规则设置自动断点,适用于需要追踪特定请求的情况。

5. 使用 Fiddler 远程捕获请求

要实现对移动设备请求的捕获,需完成以下步骤:

  • 启用 Fiddler 的代理功能。
  • 配置 Android 或 iPhone 的网络代理,设置 Fiddler 的 IP 和端口。
  • 确保 Fiddler 的捕获功能已启用。
  • 6. Fiddler Script 的实际应用

    • 线上替换本地资源:通过 AutoResponder 功能,实现资源的本地映射。
    • 请求主机地址替换:修改请求的主机地址,实现本地调试的 URL 重写。
    • 网络限速模拟:通过设置延迟和吞吐量,模拟真实网络环境。

    Fiddler Script 是 Fiddler 的一项强大工具,能够显著提升开发者的工作效率。通过合理使用 Fiddler Script 和 Fiddler 的其他功能,可以实现复杂的 HTTP 调试场景。

    你可能感兴趣的文章
    /usr/bin/ld: 找不到 -lopencv_shape
    查看>>
    svm训练特征提取——图像特征提取三大法宝:HOG特征,LBP特征,Haar特征
    查看>>
    程序备份——第二个摄像头找棋子
    查看>>
    7、回归和特征选择
    查看>>
    测试tensorflow是否安装成功 出现 SyntaxError: invalid syntax的错误
    查看>>
    pycharm使用(新建工程、字体修改、调试)
    查看>>
    什么是Numpy、Numpy教程
    查看>>
    Python学习笔记——元组
    查看>>
    异常声音检测
    查看>>
    PCB学习笔记——PCB封装库的绘制
    查看>>
    PCB学习笔记——0201 0402 0603 0805 1206焊盘封装尺寸
    查看>>
    PCB学习笔记——如何从原理图生成PCB图
    查看>>
    PCB学习笔记——AD17如何添加新的封装
    查看>>
    PCB学习笔记——AD17对芯片悬空引脚的操作
    查看>>
    numpy版本问题
    查看>>
    打造自己的图像识别模型1— 数据准备-将图像数据转为tfrecord形式——【何之源-21个项目玩转深度学习】
    查看>>
    无法打开文件“opencv_world330d.lib”的解决办法
    查看>>
    error LNK2019: 无法解析的外部符号 _main该符号在函数___tmainCRTStartup 中被引用
    查看>>
    maven项目出现 Missing artifact jdk.tools:jdk.tools:jar:1.7
    查看>>
    maven项目通过Eclipse上传到svn上面,再导入到本地出现指定的类找不到的问题
    查看>>