2010-07-18 90 views
29

我不能看到Developer's Guide一個答案,但也許我沒有在正確的地方尋找。我可以使用Chrome擴展程序修改外發請求標頭嗎?

我想攔截HTTP請求與Chrome擴展,然後將其轉發上,可能有新的/不同的HTTP頭 - 我該怎麼辦呢?

+0

這是接近我可以找到:http://code.google.com/chrome/extensions/content_scripts.html – 2010-07-18 04:13:37

+0

考慮更改接受回答。目前接受的答案已經過時。 [較新的答案](http://stackoverflow.com/questions/3274144/can-i-modify-outgoing-request-headers-with-a-chrome-extension/9143714#9143714)是正確的。 – 2014-03-24 23:11:35

+0

如果/當這個答案更新了一個實際的解釋和如何做到這一點的例子,我會繼續並將其標記爲解決方案。鏈接本身並不是答案。 – 2014-03-24 23:28:28

回答

27

PS:我這個擴展的筆者所以你可以怪我什麼你不喜歡:)

當OP提出這個問題的時候肯定是不可能的,但不久之後Chrome發佈了實驗WebRequest API。但現在它們已被正式納入Chrome擴展。您可以使用它在Chrome中修改請求和響應標頭。

請看下面的例子:

chrome.webRequest.onBeforeSendHeaders.addListener(
    function(details) { 
    for (var i = 0; i < details.requestHeaders.length; ++i) { 
     if (details.requestHeaders[i].name === 'User-Agent') { 
     details.requestHeaders.splice(i, 1); 
     break; 
     } 
    } 
    return { requestHeaders: details.requestHeaders }; 
    }, 
    {urls: ['<all_urls>']}, 
    [ 'blocking', 'requestHeaders'] 
); 

如果您想使用Chrome擴展,可以使用Requestly它允許您按照您的意願修改請求和響應頭。看看這個快照:

Headers Rule

+8

我會調低**'廣告**。 1)你應該明確地透露它是你自己的創作,2)也許一個巨大的截圖是不合適的。 – Xan 2015-01-14 08:11:31

+2

@Xan我已經添加了PPS,說「我是作者」。你說得對,我應該首先做到這一點。快照可能/不可能不合適,我將在這裏。如果你覺得它不應該在那裏,請刪除它。我對它很好。感謝您的輸入。我讚賞 – sachinjain024 2015-01-14 08:49:52

+13

謝謝blunderboy,不要擔心 - 你的形象是完美的。你作爲作者已經從存儲庫鏈接中不言而喻,並且鑑於你首先確定了API並展示了示例代碼(更不用說它是一個開源項目),因爲它是一個「廣告」是一個非常愚蠢的東西要做的事。 – 2015-03-02 22:50:31

4

你正在尋找正確的地方,但攔截HTTP請求尚不存在,但延長的團隊意識到,這是一個流行的請求,並希望得到它在不久的將來。

相關問題