Web.Headers

Синтаксис

Web.Headers(url as text, optional options as nullable record) as record

О программе

Возвращает заголовки, скачанные из url, в виде записи. Необязательный параметр optionsзаписи может быть предоставлен для указания дополнительных свойств. Запись может содержать следующие поля:

  • Query: программное добавление параметров запроса в URL-адрес без необходимости беспокоиться о выходе.
  • ApiKeyName: если целевой сайт имеет понятие ключа API, этот параметр можно использовать для указания имени (а не значения) параметра ключа, который должен использоваться в URL-адресе. Фактическое значение ключа указывается в учетных данных.
  • Headers: указание этого значения в качестве записи приведет к добавлению дополнительных заголовков в HTTP-запрос.
  • Timeout: указание этого значения в качестве длительности изменит время ожидания для HTTP-запроса. Значение по умолчанию — 100 секунд.
  • ExcludedFromCacheKey: указание этого значения в виде списка исключает эти ключи заголовка HTTP из части вычисления для кэширования данных.
  • IsRetry: указание этого логического значения как true будет игнорировать любой существующий ответ в кэше при получении данных.
  • ManualStatusHandling: указание этого значения в виде списка будет препятствовать любой встроенной обработке HTTP-запросов, ответ которых имеет один из этих кодов состояния.
  • RelativePath: указание этого значения в виде текста добавляет его к базовому URL-адресу перед выполнением запроса.

HTTP-запрос выполняется с помощью метода HEAD. Вне пользовательского контекста соединителя данных доступна только часть заголовков ответа (по соображениям безопасности).

Пример 1

Получите заголовки HTTP для "https://bing.com/search?q=Power+Query" с помощью параметров RelativePath и Query.

Использование

let
    searchText = "Power Query"
in
    Web.Headers(
        "https://www.bing.com",
        [
            RelativePath = "search",
            Query = [q = searchText]
        ]
    )

Выходные данные

([
    #"Cache-Control" = "private, max-age=0",
    #"Content-Encoding" = "gzip",
    #"Content-Length" = "0",
    #"Content-Type" = "text/html; charset=utf-8",
    Date = "Tue, 14 Dec 2021 16:57:25 GMT",
    Expires = "Tue, 14 Dec 2021 16:56:25 GMT",
    Vary = "Accept-Encoding"
]
meta [
    Response.Status = 200
])