Проверьте перенаправление URL, используя ax ios in nodejs - PullRequest
0 голосов
/ 13 февраля 2020

Я использую топор ios для вызова API в nodejs. Я хочу проверить, "https://origin.com/?url=https: //destination.com" этот URL перенаправляет на "destination.com". Итак, какой статус / заголовки я могу проверить в ответе ax ios. Каково будет условие, чтобы проверить, идет ли он на "destination.com"

var express = require('express');
const axios = require('axios');
var app = express();

app.get('/test', function (req, res) {

// Check if it redirects 
axios.get('https://origin.com/?url=https://destination.com')
  .then(response => {
    console.log(response);

    // Here I want to check if it redirects successfully to "destination.com"
    if (condition) {
        // Successfully redirected to "destination.com"
    }   

  })
  .catch(error => {
    console.log(error);
  });

})


var server = app.listen(8081, function () {
   var host = server.address().address
   var port = server.address().port
   console.log("Example app listening at http://%s:%s", host, port)
})

Ответы [ 2 ]

1 голос
/ 13 февраля 2020

Я думаю, что вы должны попытаться использовать https для API, тогда в заголовке ответа вы обнаружите, что он направлен на "destination.com".

Https очень прост и удобен в использовании.

const https = require('https');

https.get('https://encrypted.google.com/', (res) => {
  console.log('statusCode:', res.statusCode);
  console.log('headers:', res.headers);

  res.on('data', (d) => {
    process.stdout.write(d);
  });

}).on('error', (e) => {
  console.error(e);
});
0 голосов
/ 13 февраля 2020

Вы можете найти URL перенаправления в ключе responseURL, получить fetchedUrl по

const fetchedUrl = response.request.res.responseURL;

см. Это

Узел среды: v8.9.4 ax ios: ^ 0.18.0

...