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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.12.2010, 07:26   #1
shanluu
Пользователь
 
Аватар для shanluu
 
Регистрация: 05.10.2010
Сообщений: 53
По умолчанию Обработка переадрессации

как сделать при ошибке я понял -
Цитата:
try
ResponseData.Text:=IdHttp.Post(www........,PostData);
Except
on e : EIDHttpProtocolException do
if e.ErrorCode = 302 or 301 then begin

end;
end;
А как сделать это без обработки? ибо редирект стоит на true;

стоит в true т.к надоело нажимать континиу каждый раз после обработки это части при false.

у меня Embarcadero , тут нету галки, чтоб не выводило сообщение при Except, поэтому каждый раз приходится нажимать , а это надоедает
shanluu вне форума Ответить с цитированием
Старый 22.12.2010, 10:19   #2
Mifody
Форумчанин
 
Регистрация: 12.02.2009
Сообщений: 215
По умолчанию

а без конструкции try ... Except ... end вообще редирект не проходит? или просто идет не туда?
Если первое, попробуйте поиграться с событием OnRedirect в нем переменную vmMetod (кажись так называется), иногда надо было переключасть в метод GET, а то редирект обрабатывался POST запросом (в смысле страница, на которую отправлял редирект). Были и у меня такие проблемы, из за чего (одна из причин) ушел от Indy
Если идет, но не туда, может куки не сохраняются (не подключен кукисменеджет) или не все сохраняются (была тоже болезнь у Indy)
Помог с вопросом - тыркаем в весы, Вам не сложно, а мне приятно
Mifody вне форума Ответить с цитированием
Старый 22.12.2010, 18:39   #3
shanluu
Пользователь
 
Аватар для shanluu
 
Регистрация: 05.10.2010
Сообщений: 53
По умолчанию

try except end всеголишь отслеживает ошибку , а т.к редирект у меня включен её нету, поэтому не работает код внутри.

Что-то как-то заумно для меня, то что ты написал ))))

сделал по дурацкому мб ,но имхо работает

Цитата:
if pos('301',idhttp.ResponseText) or pos('302',idhttp.ResponseText)>0 then begin

end;
shanluu вне форума Ответить с цитированием
Старый 23.12.2010, 09:38   #4
Mifody
Форумчанин
 
Регистрация: 12.02.2009
Сообщений: 215
По умолчанию

shanluu, вообще я не знаю какой именно редирект у Вас должен быть, в смысле куда он Вас должен отправить. Вообще Indy стандартными средствами довольно неплохо его обрабатывают.
Вообще, если есть желание доразобраться, поставьте снифер (к примеру HTTPAnalyzer, сам его постоянно пользую) и посмотрите куда у вас редирект в программе уходит, если просто поставить HandleRedirect := true.
Вообще снифер для разработки таких программ, не заменимая весчь , бывает в одной/двух буквах ошибешся и думаеш - в чем проблема.
Помог с вопросом - тыркаем в весы, Вам не сложно, а мне приятно
Mifody вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработка строк в С++ МаркиЗа Фриланс 10 13.06.2010 17:35
Обработка строк(Си) Bl@st Помощь студентам 2 11.01.2010 22:11
Обработка строк kpactu Помощь студентам 0 12.05.2009 22:43
обработка строк Xunter Помощь студентам 4 27.06.2008 21:48