Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Использованик CURL на динамической странице. 
V
    Опции темы
fuckerok
Дата 9.8.2005, 02:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 112
Регистрация: 30.3.2004
Где: спб

Репутация: нет
Всего: нет



Пишу бота под чат (чат естесвенно не мой)
Надо получать страницу канала (где все сообщения)
Страница денамическая, тоесть не просто постоянно обновляется, а постоянно дополняется! (юзер отправил месагу, страница дополнилась)
Таким образом получить целиком страницу не получается, ибо она находится постоянно на конекте.
Вот функция которой я обычно беру страницу:
Код

    function Page($cookieStr, $url,$referer,$postf)
        {
                $ch = curl_init();
                curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)');
                curl_setopt($ch, CURLOPT_COOKIE, $cookieStr);
                 curl_setopt($ch, CURLOPT_URL, $url);
                 curl_setopt($ch, CURLOPT_HEADER,1);
                 if ($postf)
                 {
                 curl_setopt($ch,CURLOPT_POST,true);
                 curl_setopt($ch,CURLOPT_POSTFIELDS,$postf);
                }
                 curl_setopt($ch, CURLOPT_REFERER,$referer);
                  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
                  $pageOut = curl_exec($ch);
                 curl_close($ch);


                  return $pageOut;
        }


Такая функция должа получить страниц "полностью", что в моём случае невозможно и программа просто повисает (она никак не может получить страницу полностью)
Хотелось бы увидить нечто подобное:
Функция которая получает денамическую страницу, забивая каждую строку в массив.
(Чтобы можно было обработать построчно)
Задача довольно сложная (для меня, ибо решения я так и не нашёл)
Не знаю возможно ли вообще подобное с помощью curl...

Извеняюсь за опечатку в сабже.
Модераторы, не сочтите за труд, поправте.

Это сообщение отредактировал(а) AntonSaburov - 10.8.2005, 11:04
--------------------
PM MAIL ICQ   Вверх
Mal Hack
Дата 9.8.2005, 13:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 8
Всего: 261



Если ты пишешь в файл и из него берешь, то кто мешает в этот момет ставить блокировку на файл?
А вообще, зачем тебе получать полностью страницу. Получай заранее небольшое число строк и с нимим работай.
PM ICQ   Вверх
fuckerok
Дата 10.8.2005, 01:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 112
Регистрация: 30.3.2004
Где: спб

Репутация: нет
Всего: нет



Цитата
Если ты пишешь в файл и из него берешь, то кто мешает в этот момет ставить блокировку на файл?

Яж говорю, что чат не мой. Мне надо получать страницу потока сообщений. (Получать - слово в реальном времени)
Цитата
А вообще, зачем тебе получать полностью страницу

В том то и дело, что страницу ПОЛНОСТЬЮ получить никак нельзя, ибо страница постоянно дополняется, она находится на потоке (сообщения идут).
Цитата
Получай заранее небольшое число строк и с нимим работай.

А можно по подробней? Как мне получить это кол-во строк? Ведь страница находится на потоке!

Тоесть в лутчшем случае хотелось бы написать функцию:
Цитата(fucker)
Функция которая получает денамическую страницу, забивая каждую строку в массив.

Поимаю, что полностью получить никак нельзя, но можно среагировать!
Например кто-то полсал сообщение, Оно добавилось в канал сообщений, функция загнала это сообщение в массив, а уж дальше можно проверить массив и как-то среагировать (например была посланна какая-то команда)
Сам wикл получения, он бесконечен, но может прирватся - зависит от информации в массиве.
--------------------
PM MAIL ICQ   Вверх
fuckerok
Дата 23.8.2005, 05:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 112
Регистрация: 30.3.2004
Где: спб

Репутация: нет
Всего: нет



проблема решена smile
Использовать соккеты куда интересней smile
--------------------
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

Внимание: данный раздел предназначен для решения сложных, нестандартных задач.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Для профи | Следующая тема »


 




[ Время генерации скрипта: 0.0627 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.