request
bekommt Umleitungen standardmäßig, kann es bis 10 Umleitungen standardmäßig erhalten. Sie können dies in der docs überprüfen. Der Nachteil davon ist, dass Sie nicht wissen würden, ob die URL, die Sie erhalten, eine umgeleitete oder eine ursprüngliche Standardoption ist.
Zum Beispiel:
request('http://www.google.com', function (error, response, body) {
console.log(response.headers)
console.log(body) // Print the google web page.
})
gibt Ausgang
> { date: 'Wed, 22 May 2013 15:11:58 GMT',
expires: '-1',
'cache-control': 'private, max-age=0',
'content-type': 'text/html; charset=ISO-8859-1',
server: 'gws',
'x-xss-protection': '1; mode=block',
'x-frame-options': 'SAMEORIGIN',
'transfer-encoding': 'chunked' }
aber wenn Sie Option geben followRedirect
als falsch
request({url:'http://www.google.com',followRedirect :false}, function (error, response, body) {
console.log(response.headers)
console.log(body)
});
es gibt
> { location: 'http://www.google.co.in/',
'cache-control': 'private',
'content-type': 'text/html; charset=UTF-8',
date: 'Wed, 22 May 2013 15:12:27 GMT',
server: 'gws',
'content-length': '221',
'x-xss-protection': '1; mode=block',
'x-frame-options': 'SAMEORIGIN' }
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>302 Moved</TITLE></HEAD><BODY>
<H1>302 Moved</H1>
The document has moved
<A HREF="http://www.google.co.in/">here</A>.
</BODY></HTML>
Also mach dir keine Sorgen um den umgeleiteten Inhalt. Aber wenn Sie wissen wollen, ob es umgeleitet wird oder nicht, setzen Sie followRedirect
false und überprüfen Sie den location
Header in der Antwort.
Sie sagten, dass der obige Code dreimal umleitet, woher weiß ich, welcher Lauf die letzte Iteration ist? – hitautodestruct
Es wird nicht dreimal umgeleitet. Er gibt die URL, auf die Sie umgeleitet wurden, auf drei verschiedene Arten aus. Entschuldigung, wenn das unklar war. – gabrielf
@gabrielf, Nein 'this', weil wir' es6' verwenden könnten. –