@kator

Как изменить кодировку запроса в Node.js?

Пишу парсер для одного торрент-трекера.

  1. Пользователь вводит искомое слово в браузере.
  2. Node.js получает его, кодирует и, сформировав строку, делает примерно такой запрос
    `http://trackername.org/forum/portal.php?word=${whatSearch}`
    .
  3. Я получаю html-страницу и разбираю её.


Проблема в том, что тот сайт использует кодировку windows-1251, поэтому поиск работает только с латиницей, а с кириллицей нет (html то мне возвращается, но в результате поиска "Ничего не найдено").

Я попробовал изменить кодировку с помощью iconv:
const whatSearch = iconv.encode(searchWord, 'win1251')
и отправлять в POST запросе как буфером, так и строкой. Это дало результат, но возвращается совсем не то что нужно (пишу "Игра престолов", а находит книгу "Конёк-горбунок").

В то же время в терминале через cURL все работает как нужно и даже без флага --data-urlencode.

Как мне добиться того же в ноде?
  • Вопрос задан
  • 47 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы