Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 10.02.2009, 13:26   #11
Viteef
stopfake.org
Профессионал
 
Регистрация: 03.05.2007
Сообщений: 1,927
Репутация: 859
По умолчанию

Цитата:
Сообщение от Квэнди Посмотреть сообщение
в Indy в старших версиях в Idhttp есть метод checkforgrace<чего-то там>
который,собственно, и призван возвращать статус соединения
Т.е. перед тем как дисконнектиться перед GET'ом, я должен проверить CheckForGracefulDisconnect'ом не закрыто ли уже соединение?
Viteef вне форума   Ответить с цитированием
Старый 10.02.2009, 13:28   #12
Квэнди
Профессионал
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Адрес: Москва
Сообщений: 3,859
Репутация: 1192

icq: 637233
По умолчанию

перед тем как вообще что- либо сделать с соединение лучше, теоретически, это проверять
__________________
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума   Ответить с цитированием
Старый 18.02.2009, 14:48   #13
Viteef
stopfake.org
Профессионал
 
Регистрация: 03.05.2007
Сообщений: 1,927
Репутация: 859
По умолчанию

Несколько дней проработало нормально, но потом опять...
Решил при возникновении исключения убивать IdHttp и создавать заново.
Viteef вне форума   Ответить с цитированием
Старый 03.02.2010, 18:13   #14
Usov
Форумчанин
 
Аватар для Usov
 
Регистрация: 29.09.2009
Сообщений: 228
Репутация: 78

icq: 105089890
По умолчанию

Сам вот наступил на эти грабли, при пересоздании компонента это лечиться. Но интересно разобраться с ситуацией. Вот у меня простой пример проверки прокси:
Код:
procedure TForm1.Button2Click(Sender: TObject);
var
  i: Integer;
  s,ip,port: String;
  IdHTTP: TIdHTTP;
begin
  meResult.Lines.Clear;
  IdHTTP := TIdHTTP.Create;
  IdHTTP.ConnectTimeout := 2000;
  IdHTTP.ReadTimeout := 2000;
  IdHTTP.AllowCookies := True;
  IdHTTP.HandleRedirects := True;
  for i:=0 to meProxy.Lines.Count-1 do
  begin
    try
      ip := copy(meProxy.Lines.Strings[i], 1, pos(':',meProxy.Lines.Strings[i])-1);
      port := copy(meProxy.Lines.Strings[i], pos(':',meProxy.Lines.Strings[i])+1, length(meProxy.Lines.Strings[i]));
      IdHTTP.ProxyParams.ProxyServer := ip;
      IdHTTP.ProxyParams.ProxyPort := StrToInt(port);
      s := IdHTTP.Get('http://prostotaxi.pp.ua');
      if pos('<title>Index of /</title>', s) > 0 then
        meResult.Lines.Add(ip+':'+port);
    except
      on E: Exception do
      begin
        s := E.Message;
        meResult.Lines.Add(s);
      end;
    end;
    Button1.Caption := IntToStr(i+1)+'/'+IntToStr(meProxy.Lines.Count);
    Application.ProcessMessages;
  end;
  IdHTTP.Free;
end;
В процессе проверки проксей происходит сбой "Connection Closed Gracefully." и после этого все последующие прокси пролетают с этим же сообщением. Пробовал и Disconnect и CheckForGracefulDisconnect ничего не помогло. Может у кого есть какие идеи?

Последний раз редактировалось Usov; 03.02.2010 в 19:20.
Usov вне форума   Ответить с цитированием
Старый 17.10.2011, 20:19   #15
Daneel
 
Регистрация: 17.10.2011
Сообщений: 5
Репутация: 10
По умолчанию

Я вот работою с инди, но возникает такая же ошибка. Трохи поизменяв код я пришел к выводу, что это возникает когда клиент не получил от сервера. У меня возникала на строке IdTCPClient1.ReadBuffer(str,sizeof( Double)* 8). Позже я нашел, что просто передавал данные не в то место(не клиенту).
Daneel вне форума   Ответить с цитированием
Старый 06.05.2014, 14:31   #16
vershik
 
Регистрация: 07.05.2012
Сообщений: 6
Репутация: 10
По умолчанию Для IdHttp

idhttp1.Request.UserAgent:='Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.3 (KHTML, like Gecko) Chrome/6.0.472.63 Safari/534.3';
vershik вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при использовании OlePropertyGet("Documents").OleProcedure("Add") в C++ Builder AleksP C++ Builder 7 11.04.2009 13:06
если пользователь наберет какой-то другой символ не "y" или "n" и нажмет enter, программа проигнорирует skobets Общие вопросы C/C++ 2 03.06.2008 06:51
Excel файл открывается не "до конца" (странички "не показываются" только серое поле) Dorvir Microsoft Office Excel 2 28.03.2008 11:03
Создаю диаграмму "Bar". Подскажите как убрать растояние между "столбами" MAcK Компоненты Delphi 11 24.10.2007 10:49


09:21.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.