Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.06.2016, 18:47
Аспирант
Отправить личное сообщение для Romaboy Посмотреть профиль Найти все сообщения от Romaboy
 
Регистрация: 29.05.2013
Сообщений: 61

http.request vs curl
Спрашиваю из любопытства.
Я делаю парсер на node.js, который вытягивает из html и json с десятка сайтов нужный контент. На одном забанили и прикрутил прокси через модуль request. Но возникла куча проблем, последовала куча решений, и в итоге пришел к великому curl. Curl можно использовать с помощью модулей, которые не устанавливаются, по этому использую 'child_process'.
Вот что удивляет, что пошел на форуме спрашивать: почему вызов curl как процесса работает намного стабильней, чем может сама нода попытаться страницу получить?
С прокси я запросы делал - сразу работало, потом отвалилось, коды 503 в ответ приходили, а curl с тем же сайтом всегда получает что нужно.
В другом импорте частично страницы открывались, частично 503 получал, а когда на curl переписал - все нормально открываются.
В чем секрет?

PS. и вообще эта практика меня порадовала, интересный подход, оказывается, что проще из node обращаться к системе за полезными утилитами, чем те же утилиты модулями загружать. Например:

require('child_process').exec "curl URL | iconv -f cp1251 -t utf-8", (err, data, stderr) ->

Заметно меньше кода, чем

http.get "URL", (res) =>
data = []
res.on('data', (chunk) => data.push chunk).on 'end', =>
iconv.decode(Buffer.concat(data), 'win1251')

Последний раз редактировалось Romaboy, 20.06.2016 в 18:54.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ищется программист PHP/Python, cURL, JS (удаленно) machetos Работа 1 02.06.2016 13:49
ASP.NET CURL karmis Серверные языки и технологии 1 29.04.2012 17:55
curl и регулярные выражения l@pteff Серверные языки и технологии 0 04.03.2011 09:34
cURL авторизация Вконтакте InviS Серверные языки и технологии 15 10.05.2010 18:32
cURL авторизация через ip-address InviS Серверные языки и технологии 1 10.05.2010 15:08