Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

252
Visualizações
How can I detect https redirects using only built in node modules?

I don't want to actually follow the re-direct as seen here, I simply want to detect a redirect.

Here is my current code. Please note I want to simply detect a redirect and not do anything with it. The code works fine but downloads gibberish on a redirect.

I don't want to use any external modules. I believe there is a thing called headers that might come in use.

const https = require('https');
const fs = require('fs');

function download(entry, destination, callback) {
  const writeStream = fs.createWriteStream(destination);
  const request = https.get(entry, (response) => {
    response.pipe(writeStream);
  }).on('error', (error) => {
    console.log('DEBUG:', error);
  });
}

A good example of a redirect is here:

https://www.imdb.com/favicon.ico

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

You can do something like this

if (
    response.statusCode >= 300 &&
    response.statusCode < 400 &&
    'location' in response.headers
  ) {
    console.log('redirect detected');
  }

full code:

const https = require('https');
const fs = require('fs');

function download(entry, destination, callback) {
  const writeStream = fs.createWriteStream(destination);
  const request = https.get(entry, (response) => {
    if (
      response.statusCode >= 300 &&
      response.statusCode < 400 &&
      'location' in response.headers
    ) {
      console.log('redirect detected');
    }

    response.pipe(writeStream);
  }).on('error', (error) => {
    console.log('DEBUG:', error);
  });
}

According to https://github.com/request/request/blob/86b99b671a3c86f4f963a6c67047343fd8edae8f/request.js#L762

about 4 years ago · Juan Pablo Isaza Relatório

0

If you look at your response.headers, you will notice that any time there is a redirect, that a property called location is populated.

So to check for a redirect, simply do

if(response.headers.location) {
  // redirect detected
}
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda