Asynchronous Pluggable Protocol for browsing hypertext in .ZIP archives | Последнее обновление: 14.10.2002 |
Асинхронный подключаемый протокол для просмотра гипертекстов в .ZIP архивах |
Все очень просто - теперь можно просматривать содержимое .ZIP-архивов прямо в броузере.
У меня ( да и не только у меня ) накопилось немалое количество страниц, сохраненных из Интернета, и большинство из них запаковано в архивы. А что бы посмотреть - надо было распаковать, а потом ненужное почистить. Теперь это не требуется, я настроил что бы файлы с расширением .ZIP открывались в Эксплорере с помощью протокола "httzip:".
А затем, что бы заставить броузер по ссылкам брать файлы из этого же архива.
Есть общее правило задания URL-ов:
protocol://host/path/file
Если в качестве протокола указать "httzip", а в качестве хоста - .ZIP-файл, то броузер попробует открыть этот .ZIP-файл, и найти в нем файл указанный в URL - "path/file".
Примечание: В текущей версии, путь на .ZIP-файл задается с помощью левого слэжа "\", а путь на файл внутри .ZIPа - с помощью правого "/". Например: httzip://C:Мои документы\test\test1.zip/dir1/first.html
Если путь на файл внутри архива не указан, а в корне архива лежит файл "index.htm*" или "default.htm*" - то будет открыт именно он. А если таких файлов нет - то будет выведен список всех файлов в архиве.
Получить список можно, если
задать маску файлов с помощью
звездочки "*", например так:
httzip://C:Мои
документы\test\test1.zip/dir1/f*.html
Что бы установить протокол - положите HttZip.dll в любое удобное место, ну например в c:\windows\system, и зарегистрируйте в системе:
regsvr32 HttZip.dll
Что бы удалить, сначала разрегистрируйте:
regsvr32 /U HttZip.dll
и можно удалять.
Будут, выложу здесь когда приведу в более-менее приемлемый вид.
Но, если кому-нибудь очень хочется посмотреть или помочь - пишите, вышлю. Только не забывайте, что это еще очень ранняя бета, и в исходниках "сам черт ногу сломит".
В качестве заготовки использовал
"DB2XML"
от Microsoft
А для доступа к .ZIP-файлам -
исходники от Info-ZIP.
Вы можете оставить сообщение в гостевой книге или написать мне.
Анатолий