2010-07-18 9 views
29

Non riesco a vedere una risposta a questo nel Developer's Guide, anche se forse non sto cercando nel posto giusto.Posso modificare le intestazioni delle richieste in uscita con un Chrome Extension?

Desidero intercettare le richieste HTTP con un'estensione di Chrome e quindi inoltrarle, potenzialmente con nuove/diverse intestazioni HTTP: come posso fare?

+0

Questo è il più vicino è possibile trovare: http://code.google.com/chrome/extensions/content_scripts.html –

+0

Si consiglia di modificare la accettato risposta. L'attuale risposta accettata è diventata obsoleta. La [risposta più recente] (http://stackoverflow.com/questions/3274144/can-i-modify-outgoing-request-headers-with-a-crrome-extension/9143714#9143714) è corretta. –

+0

Se/quando tale risposta viene aggiornata con una spiegazione reale e un esempio di come farlo, andrò avanti e contrassegnerò come soluzione. Un collegamento da solo non è una risposta. –

risposta

27

PS: Io sono l'autore di questa estensione così mi si può rimproverare nulla che non ti piace :)

Non è stato certamente possibile quando OP ha posto la domanda, ma presto Chrome ha rilasciato sperimentale WebRequest API. Ma ora sono stati inclusi ufficialmente in Chrome Extension. Puoi utilizzarlo per modificare le intestazioni di richiesta e risposta in Chrome.

Guardate questo esempio:

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'] 
); 

Se si desidera utilizzare Chrome Extension, è possibile utilizzare Requestly, che permette di modificare le intestazioni di richiesta e risposta come si desidera. Date un'occhiata a questa istantanea:

Headers Rule

+8

Vorrei attenuare il ** 'PUBBLICITÀ' **. 1) Devi rivelare esplicitamente che è la tua creazione, 2) Forse uno screenshot enorme è fuori luogo. – Xan

+2

@Xan Ho aggiunto PPS dicendo "Sono l'autore". Hai ragione, avrei dovuto farlo al primo posto. L'istantanea potrebbe non essere fuori luogo, lo farò qui. Se senti fortemente che non dovrebbe esserci, rimuovilo. Sto bene con esso. Grazie per il tuo contributo. Apprezzo lo – sachinjain024

+13

Grazie blunderboy, e non preoccuparti: la tua immagine è perfettamente a posto. Il fatto che tu sia l'autore era già evidente dal link del repository, e dato che hai prima identificato l'API e mostrato codice di esempio (per non parlare del fatto che si tratta di un progetto open source), preoccuparsi del fatto che sia un "annuncio" è piuttosto stupido cose da fare. –

4

Stai cercando nel posto giusto, ma intercettare le richieste HTTP non esiste ancora, ma il team di estensione è consapevole che si tratta di una richiesta popolare e vorrebbe raggiungerla nel prossimo futuro.

Problemi correlati