Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.01.2017, 13:41   #1
xogesapovu
Новичок
Джуниор
 
Регистрация: 18.01.2017
Сообщений: 7
По умолчанию try IdHTTP Redirects

Доброго дня!
Как сделать что-бы try finally не считали редирект исключительной ситуацией?
т.е.
есть код:
Код:
  http := TIdHTTP.Create(nil);
  sslHandler := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
  try
    http.IOHandler := sslHandler;
    http.HandleRedirects := False;
    http.Get('https://ya.ru');
.........
  finally
    http.Free;
    sslHandler.Free
  end;
Если ловит редирект, то дальше код выполняться не будет, как решить проблему?
xogesapovu вне форума Ответить с цитированием
Старый 19.01.2017, 13:45   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Причем тут finally? Он просто выполняет код всегда: и если выпало исключения, и если не выпало а просто дошло до него.

Исключения ловятся в try except
Код:
try
...
except
  on ex: MyException do
    ...
  end
end;
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 19.01.2017, 13:48   #3
xogesapovu
Новичок
Джуниор
 
Регистрация: 18.01.2017
Сообщений: 7
По умолчанию

Почему тогда код дальше не выполняется если есть редирект? Если выставить HandleRedirects := true то все без проблем работает
xogesapovu вне форума Ответить с цитированием
Старый 19.01.2017, 13:50   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Потому что там стоит HandleRedirects = false.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 19.01.2017, 13:52   #5
xogesapovu
Новичок
Джуниор
 
Регистрация: 18.01.2017
Сообщений: 7
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Потому что там стоит HandleRedirects = false.
Даже если удалить эту строку - результат тот же.
xogesapovu вне форума Ответить с цитированием
Старый 19.01.2017, 13:55   #6
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Потому что по умолчанию стоит HandleRedirects = false
p51x на форуме Ответить с цитированием
Старый 19.01.2017, 13:56   #7
xogesapovu
Новичок
Джуниор
 
Регистрация: 18.01.2017
Сообщений: 7
По умолчанию

Это я понимаю, но как тогда ловить редиректы, но не выполнять по ним переходы и не считать это исключительной ситуацией?
xogesapovu вне форума Ответить с цитированием
Старый 19.01.2017, 14:23   #8
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Никак. В Инди редирект кидает исключение. Либо его ловите вы, либо само инди, если указали.
p51x на форуме Ответить с цитированием
Старый 19.01.2017, 14:37   #9
xogesapovu
Новичок
Джуниор
 
Регистрация: 18.01.2017
Сообщений: 7
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Никак. В Инди редирект кидает исключение. Либо его ловите вы, либо само инди, если указали.
т.е. try finally не получится использовать если в запросе будет редирект?
xogesapovu вне форума Ответить с цитированием
Старый 19.01.2017, 15:18   #10
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Нет. Надо еще except, о чем вам еще во втором посте сказали.
p51x на форуме Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
IdHTTP redenemy C++ Builder 0 28.05.2012 14:40
TWebBrowser Redirects url Terikon Работа с сетью в Delphi 1 12.11.2010 17:27
idHTTP foxes Работа с сетью в Delphi 6 03.05.2010 16:56
IdHTTP akimov_aleks Работа с сетью в Delphi 1 21.03.2010 03:18
IDHTTP Edward Компоненты Delphi 1 17.08.2009 20:20