Web.Contents
Синтаксис
Web.Contents(url as text, optional options as nullable record) as binary
О программе
Возвращает содержимое, скачаемое из url
двоичного файла. Необязательный параметр options
записи может быть предоставлен для указания дополнительных свойств. Запись может содержать следующие поля:
Query
: программное добавление параметров запроса в URL-адрес без необходимости беспокоиться о выходе.ApiKeyName
: если целевой сайт имеет понятие ключа API, этот параметр можно использовать для указания имени (а не значения) параметра ключа, который должен использоваться в URL-адресе. Фактическое значение ключа указывается в учетных данных.Headers
: указание этого значения в качестве записи приведет к добавлению дополнительных заголовков в HTTP-запрос.Timeout
: указание этого значения в качестве длительности изменит время ожидания для HTTP-запроса. Значение по умолчанию — 100 секунд.ExcludedFromCacheKey
: указание этого значения в виде списка исключает эти ключи заголовка HTTP из части вычисления для кэширования данных.IsRetry
: указание этого логического значения как true будет игнорировать любой существующий ответ в кэше при получении данных.ManualStatusHandling
: указание этого значения в виде списка будет препятствовать любой встроенной обработке HTTP-запросов, ответ которых имеет один из этих кодов состояния.RelativePath
: указание этого значения в виде текста добавляет его к базовому URL-адресу перед выполнением запроса.Content
: указание этого значения изменяет веб-запрос из GET на POST, используя значение параметра в качестве содержимого POST.
HTTP-запрос создается как GET (если содержимое не указано) или как POST (если содержимое указано). Запросы POST могут создаваться только анонимно.
Заголовки HTTP-ответа доступны в виде метаданных в двоичном результате. Вне пользовательского контекста соединителя данных доступна только часть заголовков ответа (по соображениям безопасности).
Пример 1
Получение содержимого "https://bing.com/search?q=Power+Query"
с помощью RelativePath
параметров и Query
параметров. Эти параметры можно использовать для динамического запроса статического базового URL-адреса.
Использование
let
searchText = "Power Query"
in
Web.Contents(
"https://www.bing.com",
[
RelativePath = "search",
Query = [q = searchText]
]
)
Выходные данные
binary
Пример 2
Выполните post по URL-адресу, передавая полезные данные JSON двоичного файла JSON и анализируя ответ как JSON.
Использование
let
url = ...,
headers = [#"Content-Type" = "application/json"],
postData = Json.FromValue([x = 235.7, y = 41.53]),
response = Web.Contents(
url,
[
Headers = headers,
Content = postData
]
),
jsonResponse = Json.Document(response)
in
jsonResponse
Выходные данные
table
Пример 3
Подключитесь к безопасному URL-адресу, который принимает ключ проверки подлинности в составе строки запроса. Вместо того, чтобы напрямую указывать секретный ключ в M (что может представлять угрозу для безопасности), ключ можно задать безопасным способом. Для этого необходимо указать имя (а не значение) ключа в M, выбрав проверку подлинности веб-API и указав значение ключа как часть учетных данных веб-API. В следующем примере ключ указывается безопасным способом и создается запрос к "https://contoso.com/api/customers/get?api_key=******"
.
Использование
Web.Contents("https://contoso.com/api/customers/get", [ApiKeyName="api_key"])
Выходные данные
binary
Дополнительные сведения
Обработка кода состояния с помощью Web.Contents в пользовательских соединителях