2015-12-31 2 views
0

Есть ли способ отслеживать внешний сайт с socket.io? Поэтому всякий раз, когда веб-сайт изменяется, он автоматически отправляет событие на мой сервер?Отслеживать внешний сайт с socket.io?

Например:

socket.on("newconnectionfromxxxxxxxxxxxxxxx", function (websiteChange) { //websiteChange would be the contents of the updated website. 
}); 

К сожалению, если это вопросы, очевидно, потому что я не мог найти что-нибудь в Интернете.

EDIT: сайт, который я хочу отслеживать, является файлом JSON.

ответ

1

socket.io работает между двумя сотрудничающими сайтами. Таким образом, это поможет вам только в том случае, если сайт, который вы хотите контролировать, специально поддерживает входящее соединение socket.io. И он поддерживает отправку уведомляющего сообщения по этому соединению всякий раз, когда интересующий вас файл нуждается в изменениях.

Если сайт, на который вы хотите осуществлять мониторинг, не имеет таких специфических функций мониторинга, то лучшее, что вы могли бы сделать, - это регулярно скачивать интересующий файл и сами убедиться, что он изменился.

+0

Спасибо, что прояснили это для меня! – mre12345

0

Поскольку все веб-сайты на данный момент не являются полностью управляемыми событиями/реактивными, вам придется периодически опробовать ваш сайт и посмотреть на этот файл JSON на наличие различий. Существует множество программ «filewatcher» (C#, Java и т. Д.), Которые подключаются к механизмам событий файловой системы собственной ОС; вы можете изменить одну из этих программ, чтобы вызвать WS или HTTP-событие на ваш сервер. Для вас может быть полезной оболочка NodeJS: https://github.com/paulmillr/chokidar

Bummer Утилита «watch» Unix не имела возможности запускать события, когда обнаружен diff, вместо визуального выделения изменения. Было бы действительно здорово, если бы у него была опция «-difftrigger» с некоторыми командами »...

Смежные вопросы