Ich verwende derzeit Anfrage-Versprechen in NodeJs, um eine Anfrage an eine Website und dann die Kopfzeilen zurück, wie ich versuche, die URL (Standort) der Anfrage nach Weiterleitungen. Obwohl das Problem, das ich habe, ist, dass der Standort nicht in den Headern angezeigt wird, wenn ich sie nach der Anforderung protokolliere.nodejs Anfrage-Versprechen URL Standort nicht in Kopfzeilen angezeigt
Mein Code:
const rp = require('request-promise');
const userAgent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36';
const url = //url
var _include_headers = function(body, response, resolveWithFullResponse) {
return {'headers': response.headers, 'data': body};
};
const options = {
uri: url,
followAllRedirects: true,
method: 'get',
gzip: true,
transform: _include_headers,
headers: {
'User-Agent': userAgent
},
};
const p1 = rp(options).then((response, error, html) => {
console.log(response.headers);
})
Die Konsole protokolliert die Header, aber es zeigt nicht die Lage in der Header-Objekt. Kann ich den Ort der URL nach der Anfrage und der Rückgabe der Header finden?
Sie übergeben 'folgeAllRedirects: true' und der Standardwert für' followRedirect' ist wahr. Das bedeutet, dass Sie der Bibliothek 'request()' sagen, dass Sie die Weiterleitungen ausblenden sollen, indem Sie ihnen folgen und Ihnen nur das Endergebnis nach der Weiterleitung geben. Wenn Sie den Redirect-Status und die URL selbst erhalten möchten, müssen Sie der 'request()' -Bibliothek mitteilen, dass sie den Weiterleitungen nicht automatisch folgt, damit sie Ihnen den 3xx-Status und die Header zurückgibt. – jfriend00