2

我不確定這是否有可能,但我想這不會造成問題。獲取Flash發送的請求頭文件

我有一個腳本,通過Greasemonkey或作爲Chrome擴展,在包含Flash應用程序的頁面上。該Flash應用程序發出POST請求,例如www.example.com/api/request.json?var=something

在同一頁面上運行的腳本是否可以捕獲由Flash代碼發送的請求頭?有點像Tamper Data,Fiddler之類的。

非常感謝提前即使答案最終是沒有:)

編輯:只是一點點更多信息,可以幫助。我不需要重定向或更改來自Flash應用程序的請求。我只是爲了能夠讀取標題並將該信息保存在同一頁面上運行的用戶腳本/擴展中的變量中。

回答

0

With GreaseMoneky,no。

由於他們的狀態in their FAQ

Greasemonkey的,您可以添加JavaScript代碼(稱爲「用戶腳本」)到任何網頁,當它的HTML代碼加載,這將運行。 [...]用戶腳本或多或少地像任何匹配一個或多個glob模式的URL自動調用的書籤。

他們將無法攔截「live」會發生的情況,就像您使用FireBug或WireShark所做的一樣。

它們在DOM準備好然後死亡時執行代碼。

更新:

如果你需要這樣做才發現哪些請求被解僱,而不是攔截和/或對他們採取行動,你可以使用FireBug(如果你使用Firefox)或Chrome的集成開發工具(按F12)。

+0

我擔心這會是答案。我寧願能夠攔截,以便我可以根據標題更改執行操作。如果我不能,這不是世界末日。會只是讓我的生活更輕鬆:) 感謝您的回答。 – runey71

+0

@ runey71:那麼最簡單的選擇(如果它不是反覆出現的)使用某種代理,如[Privoxy](http://www.privoxy.org/),[Polipo](http://www.pps .jussieu。fr /〜jch/software/polipo /)或[TinyProxy](https://banu.com/tinyproxy/)。 – Albireo

+0

感謝您的鏈接。我現在檢查出來。 – runey71

1

如果您確實想要捕獲並重新路由或編輯該應用程序請求,只需輸入您的hosts文件(如果在Windows上)並運行本地Web服務器(如xampp)來處理您計算機上的請求。這實質上是完全劫持了對該服務器的請求,你可以隨心所欲地做任何事情。有關如何將條目添加到主機文件的詳細信息,請參閱this

另外,如果您需要在其他系統(如Linux或Mac)上編輯主機條目,只需在搜索旁邊添加您的操作系統名稱即可。 :)

+0

謝謝你的回答,但我真的需要從用戶腳本或擴展名中完成此操作。我可以使用http嗅探器手動執行此操作,但理想情況下,我想攔截來自同一頁面上的用戶腳本/擴展程序從Flash應用程序發送的標頭。 我不需要重定向它或以任何方式修改它。只要標題信息發生變化,我就需要更新用戶腳本/擴展中的信息。 儘管感謝您的帖子。它會幫助我測試一些其他的東西:) – runey71

0

可以使用chrome.experimental.webRequest擴展API捕獲從Flash發送的HTTP POST請求標頭,但如果標頭指的是發送的實際表單數據,則它不是標題的一部分(並且不能使用捕獲擴展API afaik)。

chrome.experimental.webRequest.onRequestSent.addListener(function(details) { 
    console.log("Headers:", details); 
}, null, ["requestLine", "requestHeaders"]); 
+0

我的意思是像Accept和Referer等實際的頭信息。謝謝你的回答我將仔細看看'chrome.experimental.webRequest' – runey71

+0

終於到處都有仔細看看'chrome.experimental.webRequest' 不幸的是我得到一個錯誤chrome.experimental.webRequest在內容腳本中不被支持 所以看起來它不允許在擴展中使用。 – runey71

+0

@ runey71你不能在內容腳本中使用任何Chrome API(大部分都是),你需要從後臺頁面調用它。 – serg