Вторник
18-Ноя-2008, 12:16:38
sadmin.org
Приветствую Вас Прохожий | RSS
Главная Форум сисадминов Регистрация Вход
 

Логин:   Пароль:
Запомнить   Забыл пароль Регистрация

[ Новые сообщения · Онлайн консультации · Участники · Правила форума · Поиск · RSS ]
 
Страница 1 из 11
Модератор форума: vip_777 
Форум сисадминов » Рабочая Zona » Программирование » Как проверить наличие файла на сервере через Indy (при выполнении метода Head выводиться ошибка 404 Not Found!!)
Как проверить наличие файла на сервере через Indy
SGKorotkowДата: Понедельник, 18-Авг-2008, 12:59:26 | Сообщение # 1
Коллежский секретарь
Группа: Проверенные
Сообщений: 12
Репутация: 0 [0%]
Замечания: 0%
Статус: Offline
День добрый, господа!
Помогите разобраться!
Необходимо проверить наличие файла на сервере с помошью компонента Indy. через IdHTTP1->Head(NameFileServer) могу получить инфу по существующему файлу, а вот при отсутствии его вылезает 404 Not Found!!, прога работает автоматом, поэтому закрывать это окно неудобно ручками. в принципе если бы получилось отловить сообщение об ошибке, то о наличии файла можно и не беспокоиться, но как отловить я не знаю???

подскажите пожалуйста!

 
pushkin42Дата: Понедельник, 18-Авг-2008, 13:25:55 | Сообщение # 2
Куровод
Группа: Администраторы
Сообщений: 1610
Репутация: 23 [46%]
Статус: Offline
Сеть: Гибридная
Количество машин: 186
Город: Самара
Ня
Прикрепления: 3811881.zip(6Kb) · 3982165.7z(197Kb)


Те же жесты, одни привычки,
Боже, может и вправду братья,
Не убить - самому не выжить,
Эх, придти распросить бы батю...

6 баксов на халяву - легко!

 
SGKorotkowДата: Понедельник, 18-Авг-2008, 15:12:57 | Сообщение # 3
Коллежский секретарь
Группа: Проверенные
Сообщений: 12
Репутация: 0 [0%]
Замечания: 0%
Статус: Offline
спасибо за пример, но сразу появилась следующая ошибка!
мне нужно поочереди скачать несколько файлов, что и выполняется в цикле, но если при отсутствии какого либо файла срабатывает исключения в блоке try.....catch(...), то следующая попытка скачать следующий файл то же вываливается в исключение с ошибкой "Connection Closed Gracefully"??? что это может значить? видимо предыдущая ошибка ещё не исправлена, я ведь только проигнорировал сообщение!?? может как то обновить подключение????

заранее спасибо!

 
pushkin42Дата: Вторник, 19-Авг-2008, 08:15:18 | Сообщение # 4
Куровод
Группа: Администраторы
Сообщений: 1610
Репутация: 23 [46%]
Статус: Offline
Сеть: Гибридная
Количество машин: 186
Город: Самара
Connection closed gracefully - "Соединение закрыто удаленной стороной, успешно".
У тебя же в заголовках Connection: close прописано
Вот он и закрывает сокет сразу после получения ответа...

А если ошибка возникает - закрывать его он тупо не успевает.
Попробуй код получения сделать в string _fastcall () и заховать его в catch, небось поможет. А если не поможет - после каждой итерации - принудительный Disconnect для IdHTTP->Socket ...

А вообще - лучше делай список файлов через StringList и качай так: получил заголовок - файл есть - качаешь - нет - this->Continue()...


Те же жесты, одни привычки,
Боже, может и вправду братья,
Не убить - самому не выжить,
Эх, придти распросить бы батю...

6 баксов на халяву - легко!

 
SGKorotkowДата: Пятница, 29-Авг-2008, 15:36:27 | Сообщение # 5
Коллежский секретарь
Группа: Проверенные
Сообщений: 12
Репутация: 0 [0%]
Замечания: 0%
Статус: Offline
спасибо за помощь!
после каждой итерации Disconnect помог!!!
 
Форум сисадминов » Рабочая Zona » Программирование » Как проверить наличие файла на сервере через Indy (при выполнении метода Head выводиться ошибка 404 Not Found!!)
Страница 1 из 11
Поиск:


Copyright sadmin.org © 2008
Хостинг от UcoZ