Offline Explorer Pro и Enterprise поддерживают макрокоманды URL. Макрокоманды полезны для планирования автоматический загрузки в случаях, когда URL постоянно меняется.
Например, сайт новостей о погоде имеет изображение, которое ежедневно меняется. URL этого изображения содержит в себе номер дня месяца. Таким образом,
http://www.weather.com/image5.png соответствует пятому дню текущего месяца, в то время как
http://www.weather.com/image12.png соответствует двенадцатому дню текущего месяца.
В этом случае поможет следующая макрокоманда URL:
http://www.weather.com/image{:day}.png
Когда Offline Explorer начинает загрузку Проекта, то макрокоманды меняют эти значения. Макрокоманда должна начинаться с символа {: и заканчиваться символом }
Поддерживаются следующие макрокоманды:
{:day} текущий день (1 - 31)
{:0day} текущий день, включающий при необходимости начальный нуль (01 - 31)
{:shortday} день как сокращённое название (Sun-Sat)
{:longday} день как полное его название (Sunday-Saturday)
{:month} текущий месяц как число без начального нуля (1-12)
{:0month} месяц как число с начальным нулём (01-12)
{:shortmonth} месяц как сокращённое название (Jan-Dec)
{:longmonth} месяц как полное его название (January-December)
{:year} текущий год как число из двух цифр (00-99)
{:longyear} год как четырёхзначное число (0000-9999)
{:week} текущий номер недели без начального нуля (1-51)
{:0week} номер недели с начальным нулём (00-51)
{:hour} текущий час без начального нуля (0-23)
{:0hour} час с начальным нулём (00-23)
{:minute} текущая минута без начального нуля (0-59)
{:0minute} минута с начальным нулём (00-59)
{:second} секунда, в которую стартует загрузка, без начального нуля (0-59)
{:0second} секунда с начальным нулём (00-59)
{:5..12} это специальная макрокоманда, которая загрузит URL с числами от 5 до 12. Вы можете также использовать начальный нуль в первом номере.
{:0..100|25} разделитель | определяет шаг перечисления. В этом примере будут сгенерированы числа 0, 25, 50, 75, 100.
{:a..z} загрузка URL с символами от a до z. Вы можете здесь использовать одиночные буквы от A до Z и a до z.
{:roman:XIX..XXX} загрузка URL с римскими цифрами от XIX (19) до XXX (30). Вы можете также использовать здесь и меньшие числа. Вы можете ввести здесь и обычные числа, которые будут преобразованы в римские - {:roman:19..30}.
{:Value1,Value2,…,ValueN} Эта макрокоманда загрузит URL со значениями из разделённого запятыми списка. Например, Вы можете использовать это для перечисления государств - {:AL,WA,CA,IL}
{:file=c:\values.txt}
Эта макрокоманда заменит значения на загруженные из указанного
текстового файла. Одно значение в отдельной строке. Если текстовый файл
содержит макрокоманды URL, то они будут проигнорированы.
{:FileURLEncode=c:\post.txt} Аналогично предыдущему, но текст будет в форме закодированных URL (URL-encoded символы). Используется для POST-запросов. Например, пробелы в текстовом файле будут заменены на + и так далее.
{:setdate=...} Это специальная макрокоманда, которая позволит Вам изменять дату и время, используемые в вышеприведённых макрокомандах.
Например, если Вы хотите загрузить изображение, которое создано вчера, то Вы можете определить следующий URL:
http://www.weather.com/{:setdate=date-1}image{:day}.png
Вышеприведённый URL будет использовать вчерашнюю дату {:day} для макрокоманды. Аналогично Вы можете установить и завтрашнюю дату:
http://www.weather.com/{:setdate=date+1}image{:day}.png
Вы можете установить любое число дней для изменения текущей даты. Точно так же Вы можете изменять месяцы:
http://www.weather.com/{:setdate=date-5M}image{:day}.png
Для изменения текущего времени используйте формат {:setdate=time+17} или {:setdate=time-80}, где цифра определяет минуты.
{:julian} Вставляет цифру дня по юлианскому календарю. Юлианская дата (аббревиатура JD) - простой непрерывный счётчик дней и частей с полудня Всемирного времени от 1 января 4713 г. до н.э. (по юлианскому календарю). Эта макрокоманда полезна, если в URL используется непрерывный счётчик, увеличивающийся каждый день. Вы можете использовать формы макрокоманд {:julian+1000} или {:julian-500} для смещения конечного номера.
{:JavaScriptTime} вставляет текущие дату/время как число в формате JavaScript функции getTime().
Для изменения стандартных названий месяцев Вы можете использовать следующие макрокоманды:
{:#longmonths:January,February,...,November,December} и {:#shortmonths:J,F,M,A,M,J,J,A,S,O,N,D}. Это особенно хорошо, если Вы загружаете сайты, использующие названия месяцев на другом языке или стандартные названия месяцев Вашей системы отличаются от применяющихся на сайте.
Если изменяется дата или частота повторения в URL, то поможет следующая макрокоманда:
http://www.srv.com/dir{:5..7#1}/file{:#1}.htm
Которая генерирует три URL:
http://www.srv.com/dir5/file5.htm
http://www.srv.com/dir6/file6.htm
http://www.srv.com/dir7/file7.htm
Более сложный формат позволяет Вам увеличивать или уменьшать и второе значение: http://www.srv.com/dir{:5..7#1}/file{:#1+10}.htm
http://www.srv.com/dir5/file15.htm
http://www.srv.com/dir6/file16.htm
http://www.srv.com/dir7/file17.htm
Вы также можете использовать ...{:#1-10}...
Вы можете использовать макрокоманды URL в POST-запросах, AutoExport= и других строках - каждая строка в поле URL, содержащая макрокоманду URL, будет обработана. Дополнительно для автоэкспорта могут быть полезны следующие макрокоманды:
{:MapFile} вставляет полный путь к файлу Карты Проекта (.map) со списком всех файлов, загруженных Проектом.
{:IID} вставляет ID-номер (идентификационный номер) Проекта.
{:DD} вставляет полный путь к каталогу загрузки, в котором Проект сохраняет загружаемые файлы.
{:ProjectName} вставляет имя проекта. Может быть полезен в макросах, которые вызывают исполняемые файлы и передают параметры командной строки для них.
Макрокоманды URL могут также использоваться в фильтрах URL (ключевые слова списков Маски исключения/Маски включения в разделах Сервер, Каталог и Имя файла) и в замене адресов URL.
Поддержка URL Macros в Фильтрах URL позволяет Вам создавать универсальные шаблоны для некоторых web-сайтов. Для этого предназначен новый набор макрокоманд:
{:server} вставляет имя начального сервера из поля URL. Например, www.site.com
{:domain} вставляет домен сервера из поля URL. Например, если URL http://www.site.com, его домен будет site.com
{:dir} вставляет название начального каталога из поля URL. Например, /directory/sub/
{:filename} вставляет имя начального файла из поля URL. Например, file.asp?param
Переменные
Вы можете определить свои собственные переменные:
{:myserv=metaproducts}
http://www.{:myserv}.com/
Это поможет сделать универсальный Проект, который может быть легко копирован для загрузки других сайтов. Переменные макрокоманды могут использоваться в ключевых словах фильтров URL и правилах замены адресов.
Если у Вас в поле URL есть несколько адресов, то Offline Explorer Pro создаст несколько ключевых слов в Фильтрах URL – по одному в каждом из указанных URL.