Перейти к основному содержимому

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-запрос выполняется как GET (если содержимое не указано) или POST (при наличии содержимого). Запросы POST можно делать только анонимно.
Заголовки HTTP-ответа доступны в качестве метаданных двоичного результата. Вне контекста настраиваемого соединителя данных доступно только подмножество заголовков ответов (по соображениям безопасности).

Examples

Example #1

Получить содержимое <code>"https://bing.com/search?q=Power+Query&#34;&lt;/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=\*\*\*\*\*\*&#34;&lt;/code>.

Web.Contents("https://contoso.com/api/customers/get", [ApiKeyName="api_key"])

Result:

binary

Category

Accessing data