Olá pessoal, estou com problemas para enviar requisição para URL que antecede o redirecionamento para outra após receber 301
.
request('http://www.tanitbar.ru/menu.aspx?cat=6', function (error, response, body) {
console.log('error:', error);
console.log("response", response);
});,
1) A primeira resposta contém código de status igual a 301 (isso significa que devemos redirecionar para a URL do cabeçalho location
, mas contém letras russas codificadas: СалаÑÑ
2) Como este URL ( http://www.tanitbar.ru/СалаÑÑ
) não existe, estou recebendo um erro 404
Espere obter o corpo da página html, com código de status igual a 200
Estou recebendo 404
por enquanto
curl
funciona bem e redireciona para outro URL após receber 301
curl "http://www.tanitbar.ru/menu.aspx?cat=6" -L
, (o curl não redireciona por padrão, portanto, precisamos passar a opção -L
)
Acho que devemos decodificar o cabeçalho de localização de alguma forma antes do redirecionamento (a propósito, não consegui decodificá-lo manualmente)
Não foi possível receber o conteúdo da página do JS.
| software | versão
| ---------------- | -------
| solicitação |^2.83.0
| nó |8.7.0
| npm |5.4.2
| Sistema Operacional | Linux, Ubuntu
Desde já, obrigado!
Nós fazemos alguma coisa com a codificação desse cabeçalho? Acho que acertamos no analisador do Node.js.
@mikeal https://github.com/nodejs/node/issues/17390 pode estar relacionado
A propósito, esse Buffer.from(location, 'binary').toString('utf8')
funciona para mim.
Este problema foi marcado automaticamente como obsoleto porque não teve atividade recente. Será fechado se não ocorrer mais nenhuma atividade. Obrigado por suas contribuições.
Comentários muito úteis
@mikeal https://github.com/nodejs/node/issues/17390 pode estar relacionado
A propósito, esse
Buffer.from(location, 'binary').toString('utf8')
funciona para mim.