Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Ошибка "302 found" в Indy


Автор: ipc 20.5.2012, 23:37
Доброго времени суток, господа.

Пишу проект на Embarcadero RAD Studio XE2 C++ с использованием стандартной (входящей в пакет установки среды) Indy.
При попытке отослать Post запрос логина на очередной сайт, выяснилось, что после авторизации серевер производит редирект на ту же страничку.
Все бы ничего, однако это приводит к "вечному редиректу", потому как страница та же, запрос тот же (за исключением куков), и получается, что сервер снова шлет на редирект.
Изменение куков в OnRedirect не дали результата (куки шлются как пологается, но эффекта это не дало).

Просниферил браузеры, они после редиректа посылают запрос Get.
Если выставить HandleRedirects = false, то вылетает ошибка "302 found".

В связи с этим вопрос: 
Как изменить в OnRedirect запрос с Post на Get (или хотя бы Post но без параметров) или как без try/catch убрать оповещение об этой ошибке (может где-то в настройках отключается)?

Заранее спасибо.

Автор: ipc 21.5.2012, 22:47
Неужели никто не сталкивался с этим?
Может хотя бы в какую сторону копать подскажете?
Или вопрос слишком тупой?..

Автор: ipc 23.5.2012, 16:12
Решил, но правда коряво. Может кому и пригодится:
- Установил RedirectMaximum = 1
- в OnRedirect поднимаю флаг попытки редиректа
- после вызова Post смотрю на флаг, если поднят - вызываю Get, опускаю флаг

Всем спасибо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)