gpt4 book ai didi

http - 在本地模拟远程网站进行测试

转载 作者:可可西里 更新时间:2023-11-01 15:11:06 27 4
gpt4 key购买 nike

我正在开发一个浏览器扩展。该扩展适用于我们无法控制的外部网站。

我希望能够测试扩展。我面临的主要问题之一是在本地“按原样”显示网站。

是否可以在本地“按原样”显示网站?

我希望能够完全在本地为网站提供服务以进行测试。这意味着我想模拟完全相同的 HTTP 数据,包括 iframe 广告等。

  • 有没有简单的方法来做到这一点?

更多信息:

我希望我的系统尽可能接近远程网站。例如,我想运行命令 fetch,这样我就可以在我的浏览器中访问该站点(没有打开互联网)并获得与其他方式完全相同的内容(包括不包含的信息)来自单个域、谷歌广告等)。

如果有帮助,我不介意使用虚拟机。

我认为这在测试中非常有用。特别是当我遇到错误时,我需要在具有许多随机因素(广告显示的内容等)的网站中可靠地重现。

最佳答案

如前所述,缓存代理应该可以为您解决问题(顺便说一句,这是最简单的解决方案)。有很多不同的实现,所以你只需要花一些时间来选择一个合适的(根据我的经验,squid 是一个很好的解决方案)。无论如何,我想强调另外两个有趣的选项:

选项 1:Betamax

Betamax is a tool for mocking external HTTP resources such as web services and REST APIs in your tests. The project was inspired by the VCR library for Ruby. Betamax aims to solve these problems by intercepting HTTP connections initiated by your application and replaying previously recorded responses.

Betamax comes in two flavors. The first is an HTTP and HTTPS proxy that can intercept traffic made in any way that respects Java’s http.proxyHost and http.proxyPort system properties. The second is a simple wrapper for Apache HttpClient.

顺便说一句,Betamax 有一个非常有趣的功能:

Betamax is a testing tool and not a spec-compliant HTTP proxy. It ignores any and all headers that would normally be used to prevent a proxy caching or storing HTTP traffic.

选项 2:Wireshark和重放代理

使用Wireshark 获取您感兴趣的所有流量并重播它。我想说实现所需的重播工具并不难,但您可以使用名为 replayproxy 的可用解决方案。

Replayproxy parses HTTP streams from .pcap filesopens a TCP socket on port 3128 and listens as a HTTP proxy using the extracted HTTP responses as a cache while refusing all requests for unknown URLs.

这种方法为您提供了完全控制和位到位的精确模拟。

关于http - 在本地模拟远程网站进行测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16381927/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com