obtenir des en-têtes envoyés dans une XMLHttpRequest

essayer d'obtenir les en-têtes de la requête à partir de L'objet XHR, mais sans succès, y a-t-il une méthode cachée ou une propriété de cet objet qui exposera les en-têtes envoyés par le navigateur?

je sais déjà configurer des en-têtes de requête personnalisés et visualiser les en-têtes de réponse, je cherche à obtenir une liste de tous les en-têtes de requête envoyés, ceux créés par le navigateur et mes en-têtes personnalisés.

j'utilise webkit / chrome, ne vous souciez pas des autres navigateurs.

EDIT: je ne suis pas à la recherche pour surveiller la demande, je suis en train de construire une application web et j'ai besoin de lister ces en-têtes et de les afficher dans l'application, s'il vous plaît ne me parlez pas de fiddler, firebug et les outils chrome, ce n'est pas ce que je cherche.

25
demandé sur Ahmad Nassri 2011-09-27 07:47:21
la source

3 ответов

Il n'y a pas de méthode dans l' XMLHttpRequest API pour obtenir l' envoyé des en-têtes de requête. Il existe des méthodes pour obtenir les en-têtes de réponse seulement, et set demander des en-têtes.

vous devrez soit que le serveur fasse écho aux en-têtes, soit utiliser un renifleur de paquets comme Wireshark.

20
répondu AmGates 2014-10-11 10:08:20
la source

essayez D'utiliser Fiddler Web Debugger.

http://www.fiddler2.com/fiddler2/

vous pouvez capturer la requête qui a été envoyée dans n'importe quel navigateur ainsi que inspecter les en-têtes de requête, les en-têtes de réponse, et même copier une requête de capture envoyée et l'envoyer comme la vôtre.

2
répondu Kenneth 2011-09-27 23:53:08
la source

en supposant que vous utilisez jQuery, et que vous recherchez quelque chose d'attaché, mais peut-être pas tous les en-têtes envoyés, cela pourrait aider. Pas sûr qu'il réponde à vos besoins exacts, (puisque le navigateur a tendance à ajouter ses propres choses), mais si vous avez besoin de saisir vos propres headers en premier, cela fonctionne:

$.ajaxSetup({
    beforeSend: function (jqXHR, settings) {
        if(!(settings.headers && settings.headers.token)) {
            //no token header was set, so set the request header
            jqXHR.setRequestHeader('token', newtoken);
        }
    }
})
-1
répondu mix3d 2017-02-14 01:04:07
la source