1

我工作的Chrome擴展與攔截所有的HTTP(S)請求/響應的動機不來,並記錄所有標題變爲持久性文件(在磁盤上)。我幾乎接近了我的目標。但是,當我仔細地看了看一些要求,我發現,在許多要求「If-None-Match」和「If-Modified-Since」在requestHeaders失蹤。不過,我可以在開發人員工具顯示的網絡面板中看到它們。Chrome擴展chrome.webRequest API - 一些HTTP請求頭中的請求頭

我努力找出任何模式,造成這樣的行爲。但不幸的是,沒有這種模式。

任何人,請幫助。

回答

1

接收requestHeader列表對於使用chrome.webRequest API中的onBeforeSendHeaders事件是必需的。

onBeforeSendHeaders描述是mentioned,一些報頭不可用於讀取/處理:

  • 授權
  • 緩存控制
  • 連接
  • 的Content-Length
  • 主機
  • 的If-Modified-由於
  • 如果無 - 匹配
  • 如果-範圍
  • 局部數據
  • 附註
  • 代理授權
  • 代理連接
  • 傳輸編碼

恐怕您將無法讀取或修改這些標題,因爲這是API強制限制。

+0

由於你在你的答案中提到的限制,用'onBeforeSendHeaders'事件,我用'onSendHeaders'事件,在很多要求,我得到'的If-Modified-Since'和'如果無 - Match'頭,但不是在所有請求 –

+0

問題是,onSendHeaders你可能只能閱讀這些,但不能修改。但是你只需要記錄它們,所以它會起作用。 –

+0

是的,我不想修改。我只想記錄(持續)每個請求,以便在日誌上執行模擬。 –