2

我正在寻找一些关于如何在 Ruby 中编写支持 HTTPS 的代理的示例。我有一个用 Webricks HTTPProxyServer 实现的简单代理,但我注意到,HTTPS 流量只是隧道(应该如此;))。但我想用 VCR 记录内容(关于我的问题VCRProxy: Record PhantomJS ajax calls with VCR inside Capybara),只要内容只是通过隧道,VCR 就无法记录它。

所以我想把代理写成中间人,即时生成SSL证书(我不关心证书错误,它只是为了测试),然后我就可以记录内容了/ 稍后播放。

因此,如果有人从如何开始、教程或要点方面有很好的资源,请告诉我。

PS:我已经看到了这个问题,但他们没有提供任何进一步的东西(它需要在 ruby​​ 中):

4

2 回答 2

3

一个老问题,但为了完整起见,这里有另一个答案。

我在 Ruby 中实现了一个 HTTP/HTTPS 拦截代理,该项目托管在 github 中

该项目是新项目,因此它(还)不像 Python 的mitmproxy那样成熟,但它支持 HTTPS 和动态生成证书。

于 2016-07-10T17:45:01.963 回答
0

Python 中有一个出色的 MITM 代理,其名称为mitmproxy。作者的netlib库做了这些技巧, mitmproxy 使用它。

代码库并不大,鉴于您了解 Ruby,通读它应该不难。

于 2012-11-20T16:14:02.277 回答