gpt4 book ai didi

javascript - 拦截 GET 请求并重定向到生成的文件

转载 作者:行者123 更新时间:2023-11-30 17:26:23 35 4
gpt4 key购买 nike

我正在构建一个 chrome 扩展并使用 chrome.webRequest 拦截所有 GET 请求。其中一个请求从 http://test.com/bla.xml 获取一个 XML 文件.这个 XML 文件托管在我的网络服务器上,所以获取它很简单。我的问题是,如何发送生成的 XML 文件并将其返回。我知道如何拦截和修改 webRequest 中的 URL,但我不太确定如何将它发送到我即时创建的文件。

chrome.webRequest.onBeforeRequest.addListener(
function (details) {
if (details.url === 'http://test.com/bla.xml') {
var xmlDoc = "<person>me</person>";
return { redirectUrl: xmlDoc };
}

我希望能够将 XHR 重定向到动态生成的文件。此文件不一定是 XML 文档,它可以是我使用存储的 blob 创建的 jpg 文件。

更新:我曾尝试转发到数据 URI,但现在出现此错误:

XMLHttpRequest cannot load http://test.com/bla.xml. The request was redirected to a URL ('data:text/xml;base64,sdfkldsfjdslfjsfsjf') which has a disallowed scheme for cross-origin requests. 

我已将 http:///和 data: 添加到 list 中。

最佳答案

最直接的方法是在服务器上动态生成要返回的文件。

除此之外,您是否尝试过数据:URI?鉴于您可以控制重定向 URL,您可以将要返回的内容编码为数据:URI 并将其作为重定向目标返回。引用如下:

https://developer.mozilla.org/en-US/docs/Web/HTTP/data_URIs

关于javascript - 拦截 GET 请求并重定向到生成的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24148386/

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