Массив CheckPages

Служит для проверки доступности тех или иных страниц перед выполнением задания.

Может быть свойством корневого объекта, либо свойством одного из объектов Item

Структура

"CheckPages":[
  {
    "Page":"<aPage>",
    "ExpectedIP":"<aExpectedIP>",
    "IncludedText":"<aIncludedText>",
    "UserAgent":"<aUserAgent>"
  },
  {
    "Page":"<aPage>",
    "ExpectedIP":"<aExpectedIP_2>",
    "IncludedText":"<aIncludedText_2>",
    "UserAgent":"<aUserAgent_2>"
  },
  ...
  {
    "Page":"<aPage>",
    "ExpectedIP":"<aExpectedIP_N>",
    "IncludedText":"<aIncludedText_N>",
    "UserAgent":"<aUserAgent_N>"
  }
]

Свойства

Свойство Назначение Наличие
<aPage>проверяемая страницаОбязательно
<aExpectedIP>предполагаемый IP хоста страницыОпционально
<aIncludedText>содержащийся в исходном коде страницы текстОпционально
<aUserAgent>User-agent, используемый для загрузки исходного кода проверяемой страницыОпционально

Описание

Если во внешнем источнике обнаружен непустой массив CheckPages, то прежде, чем задание начнет выполняться, будет выполнена проверка на доступность страниц в соответствии с элементами массива.

Проверка страниц проходит в несколько этапов:

  1. Если доступен хост на котором располагается страница.
  2. Если IP хоста совпадает с aExpectedIP или aExpectedIP равен '0.0.0.0'.
  3. Если aIncludedText не пустая строка, то загружается исходный код страницы с использованием aUserAgent (редиректы не поддерживаются!). Если aUserAgent пустой, то используется User-agent, установленный для браузера. Если исходный код страницы содержит aIncludedText или aIncludedText - пустая строка.

Проверены будут не более первых пяти страниц массива. Если проверка по каждому этапу пройдена успешно, то задание продолжает выполнение, в противном случае выполнение задания прекращается.

Примеры

  1. {
      "Items":[
      ...
      ],
      "CheckPages":[
        {
          "Page":"habrahabr.ru"
        }
      ]
    }
  2. {
      "Items":[
      ...
      ],
      "CheckPages":[
        {
          "Page":"habrahabr.ru",
          "ExpectedIP":"178.248.233.33"
        }
      ]
    }
  3. {
      "Items":[
        {
          ...
          "CheckPages":[
            {
              "Page":"habrahabr.ru",
              "ExpectedIP":"178.248.233.33"
            }
          ]
          ...
        }
      ]
    }