Откройте соединение с сайтом и проанализируйте данные

Я хочу создать скрипт, который открывает соединение с сайтом и никогда не закрывает. цель не состоит в том, чтобы использовать каждые 5 секунд для «file_get_contents».

Я хочу один раз открыть сокет и поддерживать его в рабочем состоянии и анализировать там данные, чтобы другой сервер веб-сайта не видел новое соединение каждые 5 минут.

Страница, которую я хочу разобрать, - это онлайн-курсы валют и обновление в реальном времени...

Это можно сделать через php?

Спасибо!


person John    schedule 23.02.2012    source источник
comment
Возможно, какое-то время одно и то же соединение будет оставаться открытым, но сервер по-прежнему будет видеть несколько запросов, поскольку вам придется отправлять новый запрос каждый раз, когда вы хотите получить обновленную страницу, даже если это происходит через один и тот же сокет. PHP также не совсем правильный язык, для этого вам нужно что-то более постоянное.   -  person Gavin    schedule 24.02.2012
comment
хорошо, но какое лучшее решение? аякс? пожалуйста посоветуй...   -  person John    schedule 24.02.2012
comment
Привет, Джон, я не уверен, что полностью понимаю ваше требование, но я воспринял это как желание просмотреть веб-страницу, обновленную с помощью ajax, в режиме реального времени. Если бы у меня была эта проблема, я бы посмотрел на использование встроенного элемента управления браузером, например, приложение Windows, использующее BrowserControl, тогда вам нужно было бы, чтобы он работал постоянно и выводил захваченные обновления в местоположение (база данных или файл), которое может быть прочитано ваша веб-страница через ajax.   -  person Gavin    schedule 24.02.2012


Ответы (2)


Нет, насколько мне известно, это невозможно с php.

Когда отображается страница php, все это статическое содержимое.

Единственный известный мне способ получить live update — это использовать ajax, который несколько раз пингует другой сайт.

person Naftali aka Neal    schedule 23.02.2012
comment
у вас есть руководство для этого? - person John; 24.02.2012

Вы можете использовать PHP socket_connect(), но почти наверняка сервер закроет соединение через некоторое время.

person Tchoupi    schedule 23.02.2012