gpt4 book ai didi

google-chrome - 在 Chrome 中替换服务器 JSON 响应

转载 作者:行者123 更新时间:2023-12-03 19:11:15 26 4
gpt4 key购买 nike

我有一些基于 Web 的工具的问题,该工具以 AJAX 方式查询服务器以获取 JSON 数据。它工作不正常 - 返回的结果通常不是我想要的,我需要 等了很久供服务器处理请求。

事实是我总是希望返回相同的数据(准确地说是大约几个人),所以我想到了伪造服务器响应。我试图通过几种方式实现这一目标,但没有成功。

我尝试使用 Chrome 的 WebRequest 功能 - 我准备了一个扩展程序并将请求重定向到我的 JSON 编码的数据 URL。它有效,但仅当我在 Chrome 的地址字段中手动输入地址时。当 Web 应用程序尝试访问该地址时,重定向以静默方式失败。我立即想到了 Access Origin 限制,并迅速设置了一个发送 Access-Control-Allow-Origin header 的网络服务器。

不幸的是,这也不起作用。当我手动输入地址时,服务器正在被查询并返回正确的 JSON,但在应用程序中,请求......默默地失败了。看起来 Chrome 完全忽略了可能的 Access-Control-Allow-Origin header ,因为它甚至没有查询服务器。 Chrome 很可能只分析 URL,因为当我将有问题的请求重定向到应用程序域中的随机 URL 时它起作用了。

我还尝试使用相同的方法伪造应用程序的整个 JavaScript 文件 - 该文件静态链接到文档(例如,它通过标准脚本标记包含在内)。我惨遭失败 - 重定向只是默默地失败了,就像我第一次尝试失败一样。

我的问题的一个常见解决方案是使用某种代理来更改服务器输出,但我不能这样做 - 我不想等待几分钟让服务器处理请求。顺便说一下,该应用程序只能通过 HTTPS 访问。

有没有其他方法可以用我的硬编码 JSON 提供应用程序?或者也许我错过了什么?

编辑
插件代码,基于“catblock”示例:

chrome.webRequest.onBeforeRequest.addListener(
function(info) {
console.log("AJAX call intercepted: " + info.url)
return {redirectUrl: 'data:application/json,"test"'};
},
// filters
{
urls: [
"*://address.to.the.js.file.requested"
]
}, ['blocking']);

list 文件,我只将域添加到权限部分:
{
"name": "CatBlock",
"version": "1.0",
"description": "I can't has cheezburger!",
"permissions": ["webRequest", "webRequestBlocking",
"*://some.domain.com/*"],
"background": {
"scripts": ["background.js"]
},

"manifest_version": 2
}

编辑 2:
以下是 Chrome 开发者控制台网络面板的屏幕截图,显示请求被静默取消:
Console screenshot
Console screenshot

最佳答案

有几种方法可以做到这一点。

最简单的方法是使用 Fiddler
如果您懂俄语,或者您的浏览器具有不错的翻译功能,您可以阅读此 article - 据我了解,在您的情况下,您需要第二部分 - 关于自动回复。
或者下面几乎没有英文手册的链接。

这个截图就是答案enter image description here

关于 chrome 中的 Access-Control-Allow-Origin - 也是我的 extension非常简单(只需添加到响应 header “Access-Control-Allow-Origin: *”)并允许您在开发某些功能时避免此错误。你可以用 Fiddler 做同样的事情
同样在 chrome 中,您可以使用开发人员 key “chrome --disable-web-security”运行 Chrome
它还删除了“Access-Control-Allow-Origin”的错误

关于google-chrome - 在 Chrome 中替换服务器 JSON 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14811039/

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