我不确定这是否可能,但我想问一下也没什么坏处。
我在包含Flash应用程序的页面上有一个脚本,可以通过Greasemonkey或Chrome扩展程序。该Flash应用程序发出POST请求,例如www.example.com/api/request.json?var=something
。
在同一页面上运行的脚本是否可以捕获Flash代码发送的请求标头?有点像Tamper Data,Fiddler等。
非常感谢,即使答案最终没有:)
编辑:再多一点可能有帮助的信息。我不需要重定向或更改来自Flash应用程序的请求。我只是能够读入标题并将该信息保存在同一页面上运行的用户脚本/扩展中的变量中。
答案 0 :(得分:1)
如果您真的想捕获并重新路由或编辑该应用程序请求,您只需在主机文件中输入(如果在Windows上)并运行本地Web服务器(如xampp)来处理请求你的机器。这基本上是完全劫持对该服务器的请求,您可以随心所欲地执行任何操作。有关如何向主机文件添加条目的详细信息,请参阅this。
此外,如果您需要在Linux或Mac等其他系统上编辑主机条目,只需谷歌相同的概念,除了在搜索旁边添加您的操作系统名称。 :)
答案 1 :(得分:0)
使用GreaseMoneky,没有。
他们陈述in their FAQ:
Greasemonkey允许您将JavaScript代码(称为“用户脚本”)添加到任何网页,该网页将在加载HTML代码时运行。 [...]用户脚本或多或少像自动为任何匹配一个或多个glob模式的URL调用的bookmarklet。
他们将无法像使用FireBug或WireShark一样拦截“现场”发生的事情。
当DOM准备好然后死亡时,它们会执行代码。
更新
如果您只需查找触发的请求,而不是拦截和/或对其采取行动,您可以使用FireBug(如果您使用的是Firefox)或Chrome的集成开发工具(按F12 )。
答案 2 :(得分:0)
可以使用chrome.experimental.webRequest
扩展API捕获从Flash发送的HTTP POST请求标头,但如果通过标头表示发送的实际表单数据,则它不是标头的一部分(并且无法捕获使用扩展API afaik)。
chrome.experimental.webRequest.onRequestSent.addListener(function(details) {
console.log("Headers:", details);
}, null, ["requestLine", "requestHeaders"]);