![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как избавиться от ошибки 404 и ей подобных в TIdHTTP [D6, Win95/98]
a-leksey © (2003-03-03 18:26:00)Вот запрос HTTP.Get(Url,Response); но когда Url левый происходит
обрыв соединения. Пробовал проверять HTTP.ResponseCode, но не помогает
збой происходит при вызове HTTP.Get(Url,Response); как можно отключить
такую реакцию компонента, чтобы он работал не смотря не на какие ошибки.
Тобишь, при ошибке, чтобы Response был пустым.
a-leksey (2003-03-04 15:29:00) [1]За ошибки извиняюсь. Я, просто, кнопки жму быстрее чем думаю...
a-leksey (2003-03-04 15:25:00) [2]Зделал так - всеровно ошибка. Посоветуйте хоть Что-то...
try
HTTP.Get(Url,Response);
except
on err: EidProtocolReplyError do
begin
case err.ReplyErrorCode of
400..417:begin end;
500..505:begin end;
end;
end;
end;
nikkie (2003-03-04 13:51:00) [3]мудришь больно... используй try...except.
a-leksey (2003-03-04 13:45:00) [4]Всетаки меня так никто и не понял. Суть в том что пользователь может задать любой урл (ну на угад или по пьяне буквы перепутает). HTTP.Get в этом случаее выдаст ошибку, показав страшное красное окно. Мне нужно, чтобы окна небыло, чтобы ошибка прошла гладко. Видь 404 ошибка не единственная, есть и другие. Мне нужно подавить реакцию TIdHTTP на эти ошибки. Ну а после этого используя HTTP.ResponseCode можно направить приложение по другом пути.
Я что-то слышал о EidProtocolReplyError но как им пользоваться я не знаю...
Anatoly Podgoretsky (2003-03-03 19:36:00) [5]В общем случае никак, вместо одной страницы может быть выдана другая, даже с картинкой
Anatoly Podgoretsky (2003-03-03 19:36:00) [6]http://delphi.mastak.ru/404.html
a-leksey (2003-03-03 19:33:00) [7]"Не задавать адреса не существующих страниц." Даже я иногда сам в браузере пишу адреса на угад. И этим проблему не ришить.
"А он (обрыв соединения) все равно произойдет, даже в том случае, если URL не левый. Протокол такой."
Хорошо пусть обрыв будет, но как избавиться от окна ошибки, как заставить TIdHTTP молча оборвать соединение?
Reindeer Moss Eater (2003-03-03 18:44:00) [8]но когда Url левый происходит
обрыв соединения.
А он (обрыв соединения) все равно произойдет, даже в том случае, если URL не левый. Протокол такой.
Anatoly Podgoretsky (2003-03-03 18:33:00) [9]Не задавать адреса не существующих страниц.