Web.Contents
Возвращает содержимое, загруженное с URL-адреса в двоичном виде.
Syntax
Web.Contents(
url as text,
optional options as record
) as binary
Remarks
Возвращает содержимое, скачанное из url
, как двоичное. Для указания дополнительных свойств можно задать необязательный параметр записи options
. Запись может содержать следующие поля:
Query
: Добавляйте параметры запросов в URL-адрес программным способом, не беспокоясь об экранировании.ApiKeyName
: Если целевой сайт поддерживает ключ API, этот параметр можно использовать для указания имени (не значения) параметра ключа, который следует использовать в URL-адресе. Фактическое значение ключа указывается в учетных данных.Headers
: При указании этого значения в виде записи в HTTP-запрос будут добавлены дополнительные заголовки.Timeout
: При указании этого значения в виде длительности будет изменено время ожидания HTTP-запроса. Значение по умолчанию — 100 секунд.ExcludedFromCacheKey
: При указании этого значения в виде списка эти ключи заголовков HTTP будут исключены из вычислений для кэширования данных.IsRetry
: При указании этого логического значения как True все существующие ответы в кэше будут игнорироваться при извлечении данных.ManualStatusHandling
: При указании этого значения в виде списка встроенная обработка HTTP-запросов, ответ которых имеет один из этих кодов состояния, будет невозможна.RelativePath
: Это значение, указанное в виде текста, будет добавлено к базовому URL-адресу перед выполнением запроса.Content
: Указание этого значения изменяет веб-запрос с "GET" на "POST", так как значение параметра используется в качестве содержимого записи.
Заголовки HTTP-ответа доступны в качестве метаданных двоичного результата. Вне контекста настраиваемого соединителя данных доступно только подмножество заголовков ответов (по соображениям безопасности).
Examples
Example #1
Получить содержимое <code>"https://bing.com/search?q=Power+Query"</code> с использованием параметров RelativePath и Query. С помощью этих параметров можно динамически запрашивать статический базовый URL-адрес.
let
searchText = "Power Query"
in
Web.Contents(
"https://www.bing.com",
[
RelativePath = "search",
Query = [q = searchText]
]
)
Result:
binary
Example #2
Выполнить операцию POST для URL-адреса с передачей двоичных полезных данных 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
Result:
table
Example #3
Подключитесь к безопасному URL-адресу, который принимает ключ проверки подлинности как часть строки запроса. Вместо жесткого кодирования секретного ключа в M (что может представлять угрозу безопасности), можно подставить ключ безопасно, указав его имя (а не значение) в M, выбрав проверку подлинности веб-API и подставив значение ключа в качестве части учетных данных веб-API. При таком использовании следующий пример создает запрос на <code>"https://contoso.com/api/customers/get?api_key=\*\*\*\*\*\*"</code>.
Web.Contents("https://contoso.com/api/customers/get", [ApiKeyName="api_key"])
Result:
binary
Category
Accessing data