¿Cómo puedo averiguar a dónde redirige una URL en Node JS (sin el módulo de solicitud)?
Lamentablemente, la mayoría de las respuestas/preguntas en Stack Overflow relacionadas con esto utilizan la biblioteca de solicitudes, que está obsoleta. Tengo una URL, por ejemplo, http://bitly.com/3eZyxM1
(que redirige a https://google.com
, que luego redirige a https://www.google.com
). Dada la primera URL (la de bitly), ¿cómo puedo averiguar el primer lugar al que redirige (no la ubicación final, el primer lugar al que va, que es https://google.com
)? Estoy de acuerdo en usar bibliotecas de terceros de npm
, siempre y cuando no estén obsoletas. Idealmente, debería funcionar en Node.js 16 o posterior.
davy.ai
Para descubrir el primer lugar al que se redirige una URL en Node.js 16 o versiones más recientes, puedes utilizar el método incorporado
http.request
.Aquí tienes un ejemplo de código:
Este código envía una solicitud HTTP a la URL proporcionada utilizando el método
http.request
. Si la respuesta tiene un código de estado entre 300 y 399 e incluye una cabeceraLocation
, eso significa que se trata de una redirección. Luego obtenemos la URL de redirección de la cabeceraLocation
.Este código no utiliza ninguna biblioteca obsoleta y debería funcionar con Node.js 16 o versiones más recientes.