使用Fiddler调试本地js
在我们前端开发的日常工作中,发现服务器上某个css/javascript文件有问题,需要修改,那真是家常便饭。通常,我们需要将文件进行修改,然后重新发布再验证,这样就很容易影响到生产环境的稳定性。更普遍的做法是,我们在开发环境中修改文件并验证,然后发布到生产环境。虽然安全,却比较繁琐。而利用Fiddler的可以修改HTTP数据的特性,我们就非常敏捷地基于生产环境修改并验证,确认后再发布。
假设我们发现这个页面有问题,需要修改所引用的js文件()。
第一步:用Fiddler查看页面的数据流列表,找到这个js文件的session
tip: 最好是没有缓存的返回内容(Result Code是200),这样可以进行下一步的保存。不是200也没关系,你只要本地硬盘上有这个文件就好了。
第二步:将js文件保存到本地(如果本地已经有这个文件,可以跳过这步)
在这个js session上右键点击,选择“Save – Response –Response Body…”,将js文件的内容保存到本地。记住存的位置,下面我们会用到这个保存下来的文件。
第三步:开启Fiddler的请求自动重定向功能
打开AutoResponder标签设置。有没有看到界面上有两个复选框?第一个的作用是开启或禁用自动重定向功能,我们就可以在下面添加重定向规则了。第二个复选框框勾上时,不影响那些没满足我们处理条件的请求。
第四步:创建重定向规则,将目标是这个js的HTTP请求重定向到本地文件
我们可以通过“Add…”按钮手动添加规则,不过这个URL已经出现在我们的session列表中,可以直接拖动过来。在左侧的Session列表中选择第一步找到的session,拖动到AutoResponse标签中。这样就创建了一个针对这个URL的规则。
Fiddler帮我们生成的规则是:
- 当URL为:
- 返回200,使用和Session 4一模一样的内容返回
我们需要修改这个规则,
选择“Find a file…”,就可以选择本地的文件作为返回的body内容。
选择我们刚刚保存下来的文件。
刷新一下浏览器页面,看一下session列表,如果像下面这样,这个session的底色是灰色的,那么恭喜你,你已经成功将这个请求重定向到本地文件了!
tip: 如果浏览器用的是Firefox,记得先清一下临时文件缓存,因为Firefox是真正的缓存,当判断文件的缓存还未过期时,就不会再发请求出来,Fiddler就获取不到了。
第五步:修改本地文件,进行测试
我们在本地的js文件中加一句alert(‘hello’)
刷新浏览器,看看效果,如果alert出来,那就成功了。
继续修改这个文件并测试,成功修复问题后,我们就可以发布修改后的文件了。
小结:自动重定向功能是Fiddler最实用的功能,这里的Rule可以自由地设定,可以使用搜索(默认)、精确匹配(EXACT)、正则表达式匹配(REGEX)。处理方式可以选择使用文件,也可以选择合适的时间暂停数据流(*bpu、*bpafter),人工干预。通过以上几个步骤,我们演示了怎样将HTTP请求重定向到本地的文件,进行web调试。这种调试方式不需要发布到线上再验证,避免了修改不成功、对用户造成影响的风险,而且不需要搭建复杂的开发服务器等开发环境,非常适合快速web调试。
相关推荐
**Fiddler是一款强大的网络封包分析工具,尤其在JavaScript开发中,对于前端开发者来说,它是一个不可或缺的调试利器。本文将深入探讨如何利用自定义的Fiddler规则实现多环境切换,解决跨域开发问题,并高效地进行...
在`Tools` > `Fiddler Options` > `Rules` > `Custom Rules`中,添加或修改JavaScript代码来过滤特定的主机名或URL。 通过以上配置,fiddler就能有效捕获和分析移动应用的网络请求,从而帮助开发者调试和优化应用...
9. **移动设备调试**:Fiddler还支持远程设备调试,通过配置手机或平板电脑的网络代理,可以捕获这些设备的网络流量,这对于跨平台应用的开发非常有帮助。 10. **学习资源**:Fiddler具有广泛的社区支持和丰富的...
对于移动应用开发者,Fiddler还支持远程设备调试。只需在手机或平板电脑上配置代理设置,指向Fiddler的IP地址,就可以监控这些设备上的HTTP流量。 Fiddler的其他特性还包括: 1. AutoResponder:可以设置规则,...
Aria 模板 Fiddler 规则 ...无需重新部署即可在远程服务器上启用 AT 调试模式更多信息性错误消息 5 分钟内开始 运行 Fiddler 并在浏览器中打开http://localhost:8888 。 您应该会看到“Fiddler Echo Service
总之,调试Vue+Webpack项目需要理解Source Map的作用,合理配置Webpack的`devtool`选项,利用Vue CLI快速构建项目,并且在上线后借助Fiddler等工具进行远程调试。熟练掌握这些技巧,将有助于提高开发效率和代码质量...
但这个机制在开发过程中可能会阻碍调试和测试,因为本地开发环境和远程API服务器通常不在同一个源下。 "Allow-Control-Allow-Origin"插件的原理是动态修改响应头中的"CORS"设置,将原本不允许的源添加到允许的列表...
5. 如果需要远程访问Fiddler,需要在“Connection”选项卡中勾选允许远程连接。 6. 配置host文件(路径为C:\Windows\System32\drivers\etc,具体配置视情况而定)。 7. 重启Fiddler。 8. 将手机连接至与Fiddler同...
4. **扩展和插件**:一些辅助工具,如浏览器插件(如Fiddler或Chrome DevTools),可以帮助开发者检查HTTP请求、查看响应和调试JavaScript,这些都是ASP开发过程中不可或缺的。 5. **代码编辑器**:如果压缩包不...
支持本地映射和远程映射,比如你可以把线上资源映射到本地某个文件夹下,这样可以方面的处理一些特殊情况下的bug和线上调试(网络的css,js等资源用的是本地代码,这些你可以本地随便修改,数据之类的都是线上的环境...
远程调试方面,MSVSMON提供了远程控制Visual Studio进行程序调试的能力,这对于分布式应用开发尤为重要。在代码分析和性能诊断方面,CodeMaid和Codedigger等插件为VS提供了额外的功能,它们能够帮助开发者清理、简化...
6. **FTP/SFTP客户端集成**:内置FTP和SFTP客户端,可以直接编辑远程服务器上的文件,节省了上传下载的时间。 7. **宏录制与播放**:可以录制一系列操作为宏,然后随时播放,实现自动化处理任务。 8. **自定义...
JDB 是 Java 调试桥的一个命令行工具,用于远程调试 Android 应用中的 Java 代码。它能够帮助开发者深入了解应用的运行时状态,对于解决复杂的编程问题非常有帮助。 #### JDB 实践案例分析 本案例通过使用 JDB 工具...
- **网络调试**:在开发过程中,网络调试是排查问题的关键,开发者可以使用 HarmonyOS 的调试工具或者第三方工具(如 Fiddler、Charles)来检查网络请求和响应,定位网络问题。 - **抓包工具**:抓包工具可以帮助...
6. **Fiddler**: Fiddler是一个HTTP调试代理,它可以记录并修改所有HTTP通信,对于跟踪和调试网页应用非常有用。 7. **Metasploit Framework**: 虽然不是直接作为Firefox插件,但Metasploit是一个强大的渗透测试...
为了调试和解决"xamarin-webview-bug",开发者需要利用Xamarin的调试工具,如Visual Studio的调试器,查看控制台输出,或者使用如Fiddler这样的网络抓包工具来跟踪HTTP请求。同时,查阅Xamarin.Forms的官方文档、...
7. **调试工具**:在开发过程中,本地代理如Fiddler或Charles可以帮助开发者捕获和分析网络请求,用于调试和性能测试。 8. **自定义代理实现**:除了使用内置的WebProxy和HttpClient,开发者还可以根据需求编写...
- **Node.js**: - **版本**:12.14.0 - **Postman**: - **作用**:API开发工具。 ### 三、注意事项 - **硬盘空间**:确保C盘或其他安装盘至少保留50GB以上的可用空间。 - **内存大小**:推荐8GB以上内存。 - ...