Ben*_*aum 9 http browser-extension web
我正在开发一个浏览器扩展.扩展程序适用于我们无法控制的外部网站.
我希望能够测试扩展.我面临的一个主要问题是在本地显示网站"按原样".
是否可以在本地"按原样"显示网站?
我希望能够在 本地完全按原样提供网站进行测试.这意味着我想模拟完全相同的HTTP数据,包括iframe广告等.
更多信息:
我希望我的系统能够尽可能地与远程网站紧密联系.我想运行命令fetch,例如,这将允许我在我的浏览器中访问该网站(没有互联网)并得到完全相同的事情,否则(包括不是来自单个域的信息,谷歌广告,等等).
如果有帮助,我不介意使用虚拟机.
我认为这在测试中非常有用.特别是当我有一个错误时,我需要在具有许多随机因素(广告显示等)的网站中可靠地再现.
正如已经提到的,缓存代理应该可以为您解决问题(顺便说一句,这是最简单的解决方案)。有很多不同的实现,所以你只需要花一些时间选择一个合适的实现(根据我的经验,squid 是一个很好的解决方案)。无论如何,我想强调另外两个有趣的选择:
\n选项 1:Betamax
\n\n\nBetamax 是一个用于在测试中模拟外部 HTTP 资源(例如 Web 服务和 REST API)的工具。该项目的灵感来自于 Ruby 的 VCR 库。Betamax 旨在通过拦截应用程序发起的 HTTP 连接并重放之前记录的响应来解决这些问题。
\nBetamax 有两种口味。第一个是 HTTP 和 HTTPS 代理,可以拦截以任何尊重 Java\xe2\x80\x99s http.proxyHost 和 http.proxyPort 系统属性的方式发出的流量。第二个是 Apache HttpClient 的简单包装器。
\n
顺便说一句,Betamax 有一个非常有趣的功能:
\n\n\nBetamax 是一个测试工具,而不是符合规范的 HTTP 代理。它会忽略通常用于防止代理缓存或存储 HTTP 流量的所有标头。
\n
选项 2:Wireshark和重播代理
\n使用Wireshark获取您感兴趣的所有流量并重放。我想说,实现所需的重放工具并不难,但您可以使用名为replayproxy的可用解决方案
\n\n\nReplayproxy 解析来自 .pcap 文件的 HTTP 流\n在端口 3128 上打开 TCP 套接字,并使用提取的 HTTP 响应作为缓存作为 HTTP 代理进行侦听,同时拒绝对未知 URL 的所有请求。
\n
这种方法为您提供完全控制和逐位精确模拟。
\n| 归档时间: |
|
| 查看次数: |
2011 次 |
| 最近记录: |