Привет, ребята, у меня возникли проблемы с отправкой запроса на URL-адрес, который предшествует перенаправлению на другой после получения 301
.
request('http://www.tanitbar.ru/menu.aspx?cat=6', function (error, response, body) {
console.log('error:', error);
console.log("response", response);
});,
1) Первый ответ содержит код состояния равный 301 (это означает, что мы должны перенаправить на URL из заголовка location
, но он содержит закодированные русские буквы: СалаÑÑ
2) Поскольку этот URL-адрес ( http://www.tanitbar.ru/СалаÑÑ
) не существует, я получаю сообщение об ошибке 404
Ожидайте получить тело страницы в формате html с кодом состояния, равным 200
Я сейчас получаю 404
curl
работает нормально и перенаправляет на другой URL после получения 301
curl "http://www.tanitbar.ru/menu.aspx?cat=6" -L
, (curl не перенаправляет по умолчанию, поэтому нам нужно передать опцию -L
)
Я предполагаю, что мы должны как-то декодировать заголовок местоположения перед перенаправлением (кстати, я не мог декодировать его вручную)
Не удалось получить содержимое страницы из JS.
| программное обеспечение | версия
| ---------------- | -------
| запрос |^2.83.0
| узел |8.7.0
| н/м | 5.4.2
| Операционная система | линукс, убунту
Заранее спасибо!
Делаем ли мы вообще что-нибудь с кодировкой этого заголовка? Я думаю, что мы просто поняли это правильно из парсера Node.js.
@mikeal https://github.com/nodejs/node/issues/17390 может быть связано
Кстати, этот Buffer.from(location, 'binary').toString('utf8')
у меня работает.
Эта проблема была автоматически помечена как устаревшая, поскольку в последнее время в ней не было активности. Он будет закрыт, если никакой дальнейшей активности не произойдет. Спасибо за ваш вклад.
Самый полезный комментарий
@mikeal https://github.com/nodejs/node/issues/17390 может быть связано
Кстати, этот
Buffer.from(location, 'binary').toString('utf8')
у меня работает.