Проблема с методом GET (Indy/ICS)

Тема в разделе "Delphi - Сети", создана пользователем KOPOBA, 18 янв 2005.

Статус темы:
Закрыта.
  1. KOPOBA

    KOPOBA Гость

    Есть желание сделать программу-бота для чата на основе скрипта Voc.php... Функции входа, выхода, отправки сообщений и т.п. делаются достаточно легко с помощью Indy- или ICS- компонентов. Вся загвоздка в том, чтобы заставить бота "видеть" сообщения пользователей. Документ во фрейме с сообщениями пользователей генерируется скриптом tail.php, которому посылается в качестве параметра значение session - уникальный идентификатор сессии для каждого пользователя. Я пытаюсь получить HTML код страницы с сообщениями пользователей, послав запрос:
    Код (Text):
    GET http://chat.mychat.ru/tail.php?session=d3e683aecaf08f77bf84ae56a245c9ad HTTP/1.0
    Текст на Delphi процедуры отсылки запроса (для ICS) выглядит так:
    Код (Text):
    httpcli1.Accept:= 'text/html';
    httpcli1.AcceptLanguage:= 'ru';
    httpcli1.ContentTypePost:= 'application/x-www-form-urlencoded';
    httpcli1.Agent:='Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; MRA 4.0 (build 00768); .NET CLR 1.0.3705; .NET CLR 1.1.4322)';
    httpcli1.NoCache:= True;
    httpcli1.Proxy   := '';
    httpcli1.ProxyPort := '80';
    httpcli1.URL    := 'http://chat.mychat.ru/tail.php?session=d3e683aecaf08f77bf84ae56a245c9ad';

       try
         httpcli1.Get;
       except
         MessageDlg('Status Code: '+IntToStr(httpcli1.StatusCode)+#13#10+'Reason Phrase: '+httpcli1.ReasonPhrase, MtError, [mbOk], 0);
         Exit;
       end;
    Всё делаю, вроде, как следует... Пытаюсь получить документ через httpcli1.RcvdStream, но вот тут и возникает проблема. Дело в том, что программа не прекращает выполнять метод GET. Похоже из-за того, что скрипт постоянно генерирует новый документ. Или что-то в этом роде. Я, честно говоря, в этих тонкостях не разбираюсь. Однако, проблема требует решения, так как событие, возникающее на завершение получения документа, не вызывается. Если во время выполнения запроса вызвать метод httpcli1.Abort, то программа прекращает его выполнять и в полученном потоке я вижу то, что мне нужно - документ с сообщениями пользователей. Однако, при таком обрыве вылетает сообщение об ошибке да и способ это какой-то грязный...

    Уважаемые пользователи. Возможно, кто-то из вас может подсказать мне, в чём заключается проблема, почему так происходит и какие существуют возможные методы решения?

    PS:
    С Indy-компонентами та же проблема...
     
Загрузка...
Похожие Темы - Проблема методом GET
  1. c0de3r
    Ответов:
    4
    Просмотров:
    108
  2. DobermannTT
    Ответов:
    10
    Просмотров:
    129
  3. SoulPaladin
    Ответов:
    3
    Просмотров:
    116
  4. Artael
    Ответов:
    1
    Просмотров:
    106
  5. ENSLER
    Ответов:
    0
    Просмотров:
    100
Статус темы:
Закрыта.

Поделиться этой страницей