fiddler 修改响应实践

在选择博客评论系统的过程中,遇到了两次访问的网站使用的 jquery 下载失败导致网站功能不能正常使用的问题,故尝试修改请求让网站恢复正常。

开始

如果是为了了解如何修改响应,可以直接跳到最后一节修改响应

本文主要解决livere的官网登陆问题。

进入官网后,点击右上角进行注册,然后点击登陆,可以看到控制台报错:

jquery_failed

可以看到是jquery加载失败了,导致登陆不成功。

在排除了是 DNS 解析和墙的问题之后,决定直接修改响应让网页正常获取到 jquery。

配置 fiddler

首先需要到官网下载 fiddler,点此前往

若是直接访问 fiddler 的官网首页去找下载页,注意区分 Fiddler Classic 和 Fiddler Everywhere,我们需要的是 Fiddler Classic,Fiddler Everywhere 个人觉得打开又慢还需要登陆,很不好用。

配置 fiddler 拦截 https:Tools -> Options -> HTTPS

  • 重置所有证书和信任根证书证书,点击左上角的 Actions,按照顺序点击按钮,有弹窗则一直确定就好

trust

  • 勾选拦截 https 相关的配置

choose

配置完后即可正常拦截 https 请求了

分析请求逻辑

回到官网的登陆页,输入信息点击登陆,可以在 fiddler 的面板中看到,在获取 jquery 之前有另外一个请求

before

将该请求(双击选中请求)的响应解密可以看到是一个 html

decode

html

所以推测登陆的逻辑就是在 iframe 中加载一个 html(该 html 去请求 juery),然后再将登陆结果返回给主站。所以只要修改该 html 加载 jquery 的地址就好了。

修改响应

首先找一个可以正常返回 jquery 的 cdn,例如https://cdn.bootcdn.net/ajax/libs/jquery/1.12.1/jquery.js

然后在 fiddler 中选中刚才的那个请求,右键保存并编辑响应

edit

在打开的编辑中,找到 jquery 的位置,将其替换为可用的 cdn

change_path

然后到 fiddler 中添加自动响应规则,选中右边的 AutoResponder,按照下图进行配置(三个红框先不用开启)

res

最后重新回到刚才的登陆页面,在点击登陆之前,在 fiddler 中开启自动响应,把图中的三个选项都要勾上,这三个按顺序分别是

  • 开启自动响应
  • 允许所有链接
  • 没有匹配到规则的请求直接放行

start_res

然后再点击登陆,可以看到页面已经正常登陆进去了~

success

通过该方式,修改其他请求也是 OK 的~

神仙运行商有段时间连 github 都不让我上,真的服了…