Hola chicos, tengo problemas para enviar una solicitud a la URL que precede a la redirección a otra después de recibir 301
.
request('http://www.tanitbar.ru/menu.aspx?cat=6', function (error, response, body) {
console.log('error:', error);
console.log("response", response);
});,
1) La primera respuesta contiene un código de estado igual a 301 (eso significa que debemos redirigir a la URL desde el encabezado location
, pero contiene letras rusas codificadas: СалаÑÑ
2) Dado que esta URL ( http://www.tanitbar.ru/СалаÑÑ
) no existe, obtengo un error 404
Espere obtener el cuerpo html de la página, con el código de estado igual a 200
Recibo 404
por ahora
curl
funciona bien y redirige a otra URL después de recibir 301
curl "http://www.tanitbar.ru/menu.aspx?cat=6" -L
, (curl no redirige de forma predeterminada, por lo tanto, debemos pasar la opción -L
)
Supongo que deberíamos decodificar el encabezado de ubicación de alguna manera antes de la redirección (por cierto, no pude decodificarlo a mano)
No se pudo recibir el contenido de la página de JS.
| software | versión
| ---------------- | -------
| solicitud |^2.83.0
| nodo |8.7.0
| npm |5.4.2
| Sistema Operativo | linux, ubuntu
¡Gracias por adelantado!
¿Hacemos algo con la codificación de ese encabezado? Creo que lo hacemos bien con el analizador de Node.js.
@mikeal https://github.com/nodejs/node/issues/17390 puede estar relacionado
Por cierto, ese Buffer.from(location, 'binary').toString('utf8')
me funciona.
Este problema se ha marcado automáticamente como obsoleto porque no ha tenido actividad reciente. Se cerrará si no se produce más actividad. Gracias por sus aportaciones.
Comentario más útil
@mikeal https://github.com/nodejs/node/issues/17390 puede estar relacionado
Por cierto, ese
Buffer.from(location, 'binary').toString('utf8')
me funciona.