前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用Fiddler把请求从HTTPS改成HTTP

使用Fiddler把请求从HTTPS改成HTTP

作者头像
LA0WAN9
发布2021-12-14 09:03:16
8130
发布2021-12-14 09:03:16
举报
文章被收录于专栏:火丁笔记火丁笔记

为什么我要把请求从 HTTPS 改成 HTTP?这是因为生产环境是 HTTPS 的,而测试环境却是 HTTP 的,我要在测试环境测试应用,所以需要把请求从 HTTPS 改成 HTTP。为什么我不在测试环境部署一套 HTTPS 证书?这是因为 HTTPS 证书属于敏感信息。

最开始,我的想法是应用打包的时候打两个包,分别是正式包和测试包,正式包使用 HTTPS 来请求服务器,测试包使用 HTTP 来请求服务器。这个方法当然可以工作,不过实在是太蠢了!好在公司的测试兄弟告诉我可以用 Fiddler 来搞定这个问题:

Fiddler
Fiddler

Fiddler

也就是说,Fiddler 在这里就是一个「中间人」的角色,当客户端发送 HTTPS 请求 给服务器的时候,Fiddler 拦截到请求,将其解密后以 HTTP 的形式转发给服务器,然后再把服务器的响应加密成 HTTPS 返回给客户端。

了解了原理之后,我们只要一小段 FiddlerScript 代码就能完成此功能:

代码语言:javascript
复制
if (oSession.isHTTPS && oSession.HostnameIs("test.com")) {
    oSession.oRequest.headers.UriScheme = "http";
}

添加的位置:在 FiddlerScript 标签里搜索 OnBeforeRequest 方法,加到最上面即可:

Script
Script

Script

BTW:记得在 Options -> HTTPS 里选中 Decrypt HTTPS traffic。

本文好像太水了,LibGen 上有一本名为「Debugging with Fiddler」的电子书,完整介绍了 Fiddler 各种高大上的用法,有兴趣的不妨下载看看。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-11-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档