随着AppleStore对APP的审核越来越严格,客户端请求服务端API的方式大多数都变更为了https,在更安全的同时又引起了另外一个问题——本地抓包开发调试的不便。

一般来说,我们在开发API的时候,本地环境基本都是不支持https的(若要支持https则需要安装证书,比较麻烦),抓包神奇Fiddler由于拥有出色的功能,可以对请求进行拦截和处理,因此我在想能不能有一种办法,把所有的https请求自动转换成http呢,这样不就方便了吗!

前期曾经尝试过一种方法,那就是Fiddler里的AutoResponder选项卡里的EnableRules功能,主要是根据指定的规则来过滤https请求,然后手工改成http。

如下图所示:


这种方法可以针对单个请求来实现转化,但是如果APP的请求很多,每个API都要处理一遍的话,难免会力不从心,能不能批量统一处理呢?

答案是可以的!
这需要借助Fiddler的Customize Rules功能来帮忙!

这个功能是不随Fiddler的安装默认安装的,第一次使用会弹出提示安装的对话框,进行安装即可。
附插件安装地址:http://fiddler2.com/r/?SYNTAXVIEWINSTALL

这个插件的功能是针对抓取的请求,可用自定义脚本的方式来进行处理。

通过查阅资料,我们需要修改OnBeforeRequest方法,在里面添加“https转http”的逻辑,代码如下:

// Handle HTTPS requests
if (oSession.isHTTPS)
{
oSession.fullUrl = "http://" + oSession.hostname + oSession.PathAndQuery;
}

添加后点击保存按钮,再次抓包,奇迹出现了!

所有的https请求都被转换成http请求了!在本地可以愉快的调试API代码了~

参考资料:

https://groups.google.com/forum/#!topic/httpfiddler/TiR0fm8PLew

http://stackoverflow.com/questions/10040483/https-http-via-fiddler

抓包神器Fiddler之Https请求随心转的更多相关文章

  1. Charles抓包(iOS的http/https请求)

    Charles抓包(iOS的http/https请求) Charles安装 HTTP抓包 HTTPS抓包 1. Charles安装 官网下载安装Charles:https://www.charlesp ...

  2. http请求抓包神器-Fiddler(记录和检查你电脑的所有http通讯)

    Fiddler是做什么的,能帮助我们做什么? 1.能够监听http/httpS的流量,可以截获从浏览器或者客户端软件向服务器发送的http/https请求: 2.对截获之后的请求,我们还能够查看请求中 ...

  3. 3.抓包神器Fiddler简介(转载)

    转自:https://www.cnblogs.com/ailiailan/p/hanxiaobei.html 使用Fiddler的两个场景,1:客户端对服务端返回数据的容错:2:服务端对异常请求数据的 ...

  4. 十分钟学会Charles抓包(iOS的http/https请求)

    ### 原文地址,感谢作者 : http://www.jianshu.com/p/5539599c7a25 Charles安装 HTTP抓包 HTTPS抓包 1. Charles安装 官网下载安装Ch ...

  5. 43.Charles抓包(iOS的http/https请求)

    Charles安装 HTTP抓包 HTTPS抓包     1. Charles安装 官网下载安装Charles: https://www.charlesproxy.com/download/ 2. H ...

  6. 抓包工具fiddler的Https证书设置

    一.工具(option)--设置(setting)-- https-- 动作(actions)-- (open windows certificate manger)-- 搜索(fiddler)删除所 ...

  7. 和我一起学习爬虫之HTTP/HTTPS抓包工具--Fiddler

    HTTP/HTTPS抓包工具--Fiddler Fiddler[ˈfɪdlə(r)] 1. HTTP代理神器Fiddler Fiddler是一款强大Web调试工具,它能记录所有客户端和服务器的HTTP ...

  8. 【转】抓包工具Fiddler的使用教程(十二)下:Fiddler抓取HTTPS

    在教程十二(上),我们也了解了HTTPS协议,该教程就和大家分享Fiddler如何抓取HTTPS 抓包工具Fiddler的使用教程(十二):[转载]HTTPS协议 再次回忆一下关键内容: iddler ...

  9. Fiddler对https抓包时,提示"HTTPS decryption is disabled."原因及破解

    Fiddler对https抓包时,提示"HTTPS decryption is disabled." 原因:没有启用 https 解密. 破解: ----------------- ...

随机推荐

  1. linux6 安装oracle11g

    转自:http://blog.csdn.net/nhm_lxy/article/details/37813789 安装环境:    虚拟机VMware Workstation 10.0 操作系统:   ...

  2. Unity 编辑器学习(三)之 Light & Baked

    上一篇博客已经详细的介绍GI了,接下来我们讲点实际的,怎么烘焙场景及注意事项. 一.Light Property: Function: Type 当前灯光的类型.有四种类型:Directional,  ...

  3. JSTL标准标签库具体解释

    JSTL标签库的使用是为类弥补html表的不足.规范自己定义标签的使用而诞生的. 在告别modle1模式开发应用程序后.人们開始注重软件的分层设计,不希望在jsp页面中出现java逻辑代码,同一时候也 ...

  4. IDEA创建maven项目之后无法编写java类

    在创建Maven web项目之后无法再java文件夹下面创建java类,这里我可以教一下大家 选择你的文件夹,鼠标点击右键,出现下图所显示的,你可以按照下图所显示的步骤进行操作

  5. 动态调用WebService-获取天气

    string url = "http://www.webxml.com.cn/WebServices/WeatherWebService.asmx"; string[] args ...

  6. <QT障碍之路>QApplication:No such file or directory

    原因:QT5将很多部件都移动了QT widgets模块中. 解决方法: 在.pro文件中添加 greaterThan(QT_MAJOR_VERSION, ): QT += widgets

  7. Java基础String的方法

    Java基础String的方法 字符串类型写法格式如下: 格式一: String 变量名称; 变量名称=赋值(自定义或传入的变量值); 格式二: String 变量名称=赋值(自定义或传入的变量值); ...

  8. 基于promise用于浏览器和node.js的http客户端的axios

    axios 是一个基于Promise 用于浏览器和 nodejs 的 HTTP 客户端,它本身具有以下特征: 从浏览器中创建 XMLHttpRequest 从 node.js 发出 http 请求 支 ...

  9. struts.xml配置action没用,任意href自动跳到主页,在action中print没用?????

    今晚弄了好久都搞不清楚,晕死我了. 上网找也没找到解决办法. 然后看了Build Path.好吧,有几个没用的jar包,remove之.我去,马上正常了,具体原因未知. 总结:删除jar包不代表Bui ...

  10. QT项目升级(QT4.6.3到QT5.2)时,遇到的问题和解决方法

    QT4升级到QT5修改: PC部分: [改QTDIR变量] 在project根文件夹下找到.user文件, 如InnoTabPlugin.vcxproj.user 改动指向你的QT5根文件夹: < ...