解决 firefox 不能使用 charles 的问题

- 1 min

基本不用 firefox,今天有同事报了个 firefox 上的问题,下了个 firefox。 想着用 charles 抓下包看下,结果发现并不能抓到任何包。感觉有点儿奇怪,试了一下其他的浏览器,safari 和 chrome 都可以,唯独 firefox 不行。

于是 google 了一下,发现了一个 charles 官方推出的 firefox 插件 charles-proxy,但很遗憾,新版本的 firefox 已经不能用了。

在 firefox 的 preferences 里看了下 proxy 的设置,感觉可能是这里的问题,于是就尝试着改了一下 proxy 的设置,改成了Menu proxy configuration,如图:

firefox proxy configuration

图中的 127.0.0.1 就是当前本机的地址,后面的 88888889是我本机 charles 占用的端口号。

配置完之后,发现还是不行,又想了一下,感觉可能是 https 的问题。于是又在 preferences 里搜了一下 certificates,发现果然可以设置,点击一下View Certificates :

view certificates

可以看到一堆证书的设置,还有个 Import 的按钮,打开本机的 keychain accesss,可以看到之前安装过的 charles 的证书,把这个证书导出来一份,然后再导入到 firefox 中就可以了。

导入完证书,刷了一下网页,果然可以捕获到正确的请求了。

解决了问题,想了一下原理。

charles 本身应该是通过在本地起一个proxy server,然后把系统中的请求都转发到本地的 proxy server 来进行抓包的。firefox 之所以不行,可能是因为 firefox 默认绕过了系统中设置的 proxy,所以需要手动设置一下 proxy 才可以。

rss facebook twitter github youtube mail spotify lastfm instagram linkedin google google-plus pinterest medium vimeo stackoverflow reddit quora