2016-11-17 2 views
3

Я запрашиваю example.com, чем он перенаправляет меня на www.example.com с 301 или 302 статусом, а затем я получаю ответ от www.example.com с кодом 200. Я хочу получить все статусы не только последние. Я использую модуль «запрос» на моем узловом сервере. Вот мой кодПолучить код ответа первого запроса

app.post("/check", function(req, res) { 
    var link = req.body.url; 

    var opts = { 
    uri: link, 
    gzip: true, 
    followRedirect :function (resp) { 
     return true; 
    } 
    }; 
    request(opts, function (error, res, body) { 
    if (res.statusCode > 300 && res.statusCode < 400 && res.headers.location) { 
     if (url.parse(res.headers.location).hostname) { 
     } else { 
     } 
    } 

ответ

0

Не совсем уверен, что вы хотите, чтобы вывод будет, но попробовать это:

app.post("/check", function(req, res) { 
    var link = req.body.url; 
    var redirectCodes = []; 

    var opts = { 
    uri: link, 
    gzip: true, 
    followRedirect :function (resp) { 
     redirectCodes.push(resp.statusCode); 
     return true; 
    } 
    }; 
    request(opts, function (error, res, body) { 
    res.end(JSON.stringify({ 
     body: body, 
     redirectCodes: redirectCodes 
    }, null, 2)); 
    } 
});