【问题标题】:modifying 3rd party website locally for testing在本地修改第三方网站以进行测试
【发布时间】:2016-08-24 02:14:33
【问题描述】:

修改第三方网站进行测试的一般方法是什么?例如,我想修改我无法控制的随机网站(HTML、js、css、图像等)的某些方面,并通过我的更改查看本地修改的网站。 有多种方式: 1.将所有内容复制到本地服务器并做我想做的任何事情。 这有点乏味、混乱,并且不会复制原始服务器的确切行为:某些标头可能不一样(例如 CORS)。此外,主机名不同(但这可以通过覆盖hosts 文件中的主机名来“修复”) 2. 另一种方法是创建一个 chrome 扩展,它可以满足我的要求:chrome.webRequest 有钩子,我可以在其中重定向到另一个文件(在其他服务器上或存储在扩展文件夹中)。这对我也不起作用:当我重定向到其他地方时,我会遇到 CORS 问题,因为重定向的文件位于其他地方。

我的目标是获得完全相同的行为(例如,最好直接访问有问题的网站,而不是我本地服务器上的副本),但在呈现内容之前有机会修改它。例如,我可以设置一个本地代理并即时进行更改,但远程站点使用 https,所以我不能那样做。 如果我有机会在接收到的内容缓冲区上运行 regex.replace,那将是完美的。任何想法如何做这样的事情?

【问题讨论】:

    标签: google-chrome http


    【解决方案1】:

    第三方网站通常会通过一个构建过程来发布,该过程将 JavaScript 和 CSS(例如 closurejspmwebpackbrowserify)压缩和捆绑在一起,有时还包括图像(作为精灵)。如果您没有源文件,您仍然可以使用以下方法。

    如果您想修改 CSS 并使其保持不变,您可以使用 Chrome 扩展程序,例如 Live CSS editor

    对于 JavaScript,Chrome supportsuser scripts,您可以使用 Tampermonkey 更轻松地管理用户脚本。

    进行正则表达式替换的代理是另一种有效的方法,它可以通过 HTTP 和 HTTPS 工作。请参阅FiddlerCharles 或适用于 Windows 的旧版 Proxomitron,它们也有可以拦截 SSL 流量的插件。

    【讨论】:

      猜你喜欢
      • 2019-05-31
      • 1970-01-01
      • 2013-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多