2012-05-01 4 views
28

Me gustaría leer (no modificar) el cuerpo de la respuesta para todas las solicitudes que coinciden con algún patrón en una extensión de Chrome. Actualmente estoy usando chrome.devtools.network.onRequestFinished, que le da un objeto Request con un método getContent(). Esto funciona bien, pero por supuesto requiere que los devtools estén abiertos para que la extensión funcione. Idealmente, la extensión sería una ventana emergente, pero chrome.webRequest.onCompleted no parece dar acceso al cuerpo de la respuesta. Hay un feature request para permitir que la API webRequest a edit cuerpos de respuesta, pero ¿puede incluso leer webRequest? Si no, ¿hay alguna otra manera de leer los cuerpos de respuesta fuera de las extensiones de devtools?Extensiones de Chrome: ¿otras formas de leer los cuerpos de respuesta que chrome.devtools.network?

Respuesta

4

The feature request you linked que implica que no hay soporte para la lectura, ya sea:

Desafortunadamente, esta solicitud no es trivial. (...) Respecto a la lectura del Cuerpo de respuesta: Esto es desafiante desde una perspectiva de desempeño. (...) Entonces, en general, esto no es fácil de lograr ...

Entonces, no, no parece haber una manera para que una extensión acceda a cuerpos de respuesta de red, excepto para devtools.

-3

Si usted tiene el este patrón de peticiones puede ejecutar algo así en su background.html archivo:

var xhr = new XMLHttpRequest(); 
    xhr.open("GET", "http://example.com/" + yourStringForPattern, true); 
    xhr.onreadystatechange = function() { 
    if (xhr.readyState == 4) { 
     var body = xhr.responseText; 
     // call some function to do something with the html body 

    } 
    } 
    xhr.send(); 
+0

Esto simplemente muestra cómo hacer una solicitud. El OP pregunta cómo controlar los cuerpos de respuesta de cualquier solicitud que haga el navegador. AFAIK chrome.devtools.network.onRequestFinished sigue siendo la única forma de obtener cuerpos y requiere que el depurador esté abierto. – rhashimoto

Cuestiones relacionadas