Android 如何设置具有录制/重播功能的http(s)代理?

Android 如何设置具有录制/重播功能的http(s)代理?,android,ssl,https,proxy,Android,Ssl,Https,Proxy,用例是: 我想做一些安卓应用程序性能测试,我想在应用程序从网络上下载时修复数据 我提出的解决方案是设置一个本地http代理,它可以首先记录所有http流量,然后回放,然后应用程序运行性能测试 我找到了,这正是我想要的特征。但在默认设置下,它似乎不能用作https代理。我尝试使用它作为代理并登录到facebook,但没有成功 我不熟悉https协议和cert的工作原理。谁能提供一些帮助?非常感谢。HTTPS代理与HTTP代理非常不同-代理服务器接收CONNECT命令,并在客户端和CONNECT命令

用例是:

我想做一些安卓应用程序性能测试,我想在应用程序从网络上下载时修复数据

我提出的解决方案是设置一个本地http代理,它可以首先记录所有http流量,然后回放,然后应用程序运行性能测试

我找到了,这正是我想要的特征。但在默认设置下,它似乎不能用作https代理。我尝试使用它作为代理并登录到facebook,但没有成功


我不熟悉https协议和cert的工作原理。谁能提供一些帮助?非常感谢。

HTTPS代理与HTTP代理非常不同-代理服务器接收CONNECT命令,并在客户端和CONNECT命令参数中指定的服务器之间建立不透明通道。因此,您无法通过这种方式轻松捕获HTTPS流量

通常,您可以使用HTTP代理进行HTTPS连接,在这种情况下,代理充当HTTP代理,并在客户端和自身之间以及服务器和自身之间建立SSL通道。代理向客户端提供自己的证书(通常是自签名的,因为此类代理主要用于开发和监视目的),并验证远程服务器的证书

上述方案要求(a)HTTP代理可以做到这一点(“mitmproxy”表明它可以做到),(b)客户机支持此类配置,以及(c)可以在客户机上验证或信任代理的证书


我对Android是否支持(b)和(c)有些怀疑

您是否接受SSL证书或为这些证书添加异常(因为它返回的SSL证书将不受信任,并且取决于浏览器将抛出错误。@Doon,请求是从android应用程序发送的,我没有看到任何添加异常的选项(如我在firefox中看到的)。