45
Описание утилиты URLChecker

 

Содержание:

Назначение:

Мой сайт содержит довольно большой список ссылок на VFP-сайты... И это достаточно утомительное занятие время от времени проверять: все ли они "живые". Хорошей утилиты для этого мне как-то не попалось под руку (возможно, плохо искал :-), ну и вот решил написать сам... Пара моментов, предопределивших то, что эта утилита написана именно так, а не иначе:

Формат текстовых-файлов экспорта/импорта:
В начало

Ожидается, что импортируемый текстовый файл имеет следующий формат:

Уникальный номер URL-адрес Название
Число Строка Строка

Поля разделены символом горизонтальной табуляции (TAB) и в конце правого поля проставлен символ конец строки.
Внимание! Никакого контроля ошибок указанного формата в файле при его импорте утилитой не производится, поэтому будьте, пожалуйста, внимательны при подготовке данных.

Экспорт данных выполняется в текстовый файл следующего формата:

Уникальный номер URL-адрес Название Результат контроля Код состояния
Число Строка Строка Строка Число

Первые три столбца соответствуют импортируемому файлу, в то время как последние два отвечают кодам, из раздела MSDN, описывающего функцию CHttpFile::QueryInfoStatusCode(...). Приведу их здесь, на всякий случай:

Результат контроля Код состояния
Success 200-299
Information 300-399
Request error 400-499
Server error 500-599
Undefined 0

Код в последней строке таблицы дополнен мной.

Параметры настройки:
В начало

Вся настройка уместилась на одну закладку окна свойств:

urlchk1.jpg (79411 bytes)

Pic. 1

Замечание: Помимо асинхронного режима, мне пришлось разрешить возможность и синхронного подключения, но я очень не советую Вам им пользоваться . Проблема заключается в том, что небольшое множество Web-серверов обрывает соединение при асинхронном подключении прежде, чем мне удаётся получить от них информацию (из порядка двухсот сайтов у меня таких оказалось всего несколько штук :-) ...Конечно, очень даже может быть, что мне не удалось просто на все 100% корректно написать код обработки асинхронного подключения :-( При синхронном режиме подключения указанных обрывав соединения не происходит, однако в этом случае отсутствует возможность прервать процесс связи с Web-сервером, кроме как завершить задачу из System Task Manager :-( в то время как в асинхронном режиме, такие подключения прерываются по ошибке без какого-либо кода завершения (Undefined) или по истечению времени Time out. По-видимому, необходимо дополнительно проверить такие сайты из IE. ... И это уже не будет первоначальный список сайтов, не так ли :-)

Выполнение контроля:
В начало

Всё очень просто. Выполнив пункт меню Options/Start, вы можете наблюдать процесс проверки ссылок. Если при этом Вы прервёте процесс - Options/Stop, то возникнет состояние, подобное показанному на следующей картинке:

urlchk2.jpg (31615 bytes)

Pic. 2

Обратите внимание, что ссылка, на которой был прерван процесс контроля, находится в состоянии Aborted (третья строка на картинке 2). После этого Вы можете либо продолжить контроль начиная с прерванной ссылки - Options/Continue, ну либо всё сначала...

Текущее состояние данных Вы можете сохранить/читать в файлах на диске с расширением .uck

Заключительные замечания:
В начало

 Скачать исходники [116KB]

 
 
Hosted by uCoz