【问题标题】:How to intercept ALL HTTP requests on html page如何拦截html页面上的所有HTTP请求
【发布时间】:2022-09-25 02:34:20
【问题描述】:

我想拦截全部在 html 页面发出的 HTTP 请求中,我使用它为页面上的所有请求添加反向代理 URL,(例如 https://proxy/original_url)假设我有一个 CSS 样式表的链接元素:

<link rel=\"stylesheet\" href=\"/style.css\">

链接元素将保持不变,但当浏览器请求 /style.css 文件时,它实际上会请求 https://proxy.url/style.css

或者说网站发出了获取请求

fetch(\"file.txt\")

它应该请求https://proxy.url/file.txt

哦,我不能使用 Service Worker,因为它需要在加载任何内容之前运行,并且需要停止页面加载,直到完成添加反向代理

    标签: javascript html http request reverse-proxy


    【解决方案1】:

    您可以尝试使用&lt;base&gt; 标签。见https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base

    【讨论】:

    • 它不适用于/style.css 之类的东西,它只适用于style.css,我无法修改页面
    • @EliOzcan 使用系统代理?修改浏览器的代理配置,即可拦截所有HTTP请求。
    • 代理必须是浏览器代理而不是系统代理,因为我正在制作反向代理客户端,它需要自动将站点发出的所有请求发送到反向代理服务器
    • 将浏览器代理配置修改为您的反向代理客户端?或者使用浏览器扩展,例如SwitchyOmega并将 HTTP 代理添加到网站的代理客户端。
    • 无法通过脚本更改它,代理服务器和浏览器都无法更改代理设置。我必须手动实现它
    【解决方案2】:

    我建议您查看 burp 套件以获得强大的解决方案。 另一个更简单的选择是资源覆盖浏览器扩展。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-05-04
      • 1970-01-01
      • 2017-02-09
      • 1970-01-01
      • 1970-01-01
      • 2013-02-02
      • 2017-10-04
      相关资源
      最近更新 更多