489 Stimmen

Zugriff auf die HTTP-Header der Webseite in JavaScript

Wie kann ich über JavaScript auf die HTTP-Antwort-Header einer Seite zugreifen?

Verwandt mit diese Frage die geändert wurde, um den Zugriff auf zwei bestimmte HTTP-Header zu erfragen.

Verwandt:
Wie greife ich über JavaScript auf die Header-Felder der HTTP-Anfrage zu?

5voto

Leo Punkte 2800

Wenn wir über Folgendes sprechen Anfrage Header können Sie bei XmlHttpRequests Ihre eigenen Header erstellen.

var request = new XMLHttpRequest();
request.setRequestHeader("X-Requested-With", "XMLHttpRequest");
request.open("GET", path, true);
request.send(null);

4voto

shaedrich Punkte 4845

Um die Kopfzeilen als ein handlicheres Objekt zu erhalten (Verbesserung der Rajas Antwort ):

var req = new XMLHttpRequest();
req.open('GET', document.location, false);
req.send(null);
var headers = req.getAllResponseHeaders().toLowerCase();
headers = headers.split(/\n|\r|\r\n/g).reduce(function(a, b) {
    if (b.length) {
        var [ key, value ] = b.split(': ');
        a[key] = value;
    }
    return a;
}, {});

3voto

rushmore Punkte 147

Ich habe es gerade getestet, und es funktioniert bei mir mit Chrome Version 28.0.1500.95.

Ich musste eine Datei herunterladen und den Dateinamen lesen. Der Dateiname steht in der Kopfzeile, also habe ich Folgendes getan:

var xhr = new XMLHttpRequest(); 
xhr.open('POST', url, true); 
xhr.responseType = "blob";
xhr.onreadystatechange = function () { 
    if (xhr.readyState == 4) {
        success(xhr.response); // the function to proccess the response

        console.log("++++++ reading headers ++++++++");
        var headers = xhr.getAllResponseHeaders();
        console.log(headers);
        console.log("++++++ reading headers end ++++++++");

    }
};

Ausgabe:

Date: Fri, 16 Aug 2013 16:21:33 GMT
Content-Disposition: attachment;filename=testFileName.doc
Content-Length: 20
Server: Apache-Coyote/1.1
Content-Type: application/octet-stream

2voto

Jorgesys Punkte 119076

Dies ist mein Skript, um alle Antwort-Header zu erhalten:

var url = "< URL >";

var req = new XMLHttpRequest();
req.open('HEAD', url, false);
req.send(null);
var headers = req.getAllResponseHeaders();

//Show alert with response headers.
alert(headers);

Daraus ergeben sich die Antwort-Header.

enter image description here

Dies ist ein Vergleichstest mit Hurl.it:

enter image description here

0voto

Mit mootools können Sie this.xhr.getAllResponseHeaders()

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X