Web.Contents
Syntax
Web.Contents(url as text, optional options as nullable record) as binary
Asi
Vrátí obsah stažený z url
jako binární. Volitelný parametr záznamu, options
, může být poskytnut pro určení dalších vlastností. Záznam může obsahovat následující pole:
-
Query
: Do adresy URL přidejte parametry dotazu prostřednictvím kódu programu, aniž byste se museli starat o únik. -
ApiKeyName
: Pokud má cílový web představu o klíči rozhraní API, lze tento parametr použít k zadání názvu (nikoli hodnoty) parametru klíče, který se musí použít v adrese URL. Skutečná hodnota klíče je k dispozici v přihlašovacích údajích. -
Headers
: Zadáním této hodnoty jako záznamu se do požadavku HTTP zadají další hlavičky. -
Timeout
: Zadáním této hodnoty jako doby trvání se změní časový limit požadavku HTTP. Výchozí hodnota je 100 sekund. -
ExcludedFromCacheKey
: Zadáním této hodnoty jako seznamu se tyto klíče hlaviček HTTP vyloučí z výpočtu pro ukládání dat do mezipaměti. -
IsRetry
: Zadání této logické hodnoty jako true bude při načítání dat ignorovat všechny existující odpovědi v mezipaměti. -
ManualStatusHandling
: Určení této hodnoty jako seznamu zabrání jakémukoli integrovanému zpracování požadavků HTTP, jejichž odpověď má jeden z těchto stavových kódů. -
RelativePath
: Zadání této hodnoty jako textu ji před provedením požadavku připojí k základní adrese URL. -
Content
: Zadáním této hodnoty se změní webový požadavek z GET na POST pomocí hodnoty možnosti jako obsahu POST.
Požadavek HTTP se provede jako GET (pokud není zadaný žádný obsah) nebo POST (pokud je obsah). Požadavky POST mohou být provedeny pouze anonymně.
Hlavičky odpovědi HTTP jsou k dispozici jako metadata binárního výsledku. Mimo kontext vlastního datového konektoru je k dispozici pouze podmnožina hlaviček odpovědí (z bezpečnostních důvodů).
Příklad 1
Načtěte obsah "https://bing.com/search?q=Power+Query"
pomocí možností RelativePath
a Query
. Tyto možnosti lze použít k dynamickému dotazování statické základní adresy URL.
Použití
let
searchText = "Power Query"
in
Web.Contents(
"https://www.bing.com",
[
RelativePath = "search",
Query = [q = searchText]
]
)
výstupní
binary
Příklad 2
Proveďte POST na adrese URL tak, že přenesete binární JSON payload a analyzujte odpověď jako JSON.
Užití
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
výstupní
table
Příklad 3
Připojte se k zabezpečené adrese URL, která přijímá ověřovací klíč jako součást řetězce dotazu. Místo pevného kódování tajného klíče v jazyce M (což by představovalo bezpečnostní riziko), je možné klíč bezpečně poskytnout zadáním jeho názvu (nikoli jeho hodnoty) v jazyce M, zvolením ověřování webového rozhraní API a zadáním hodnoty klíče jako součásti přihlašovacích údajů webového rozhraní API. Při použití tímto způsobem následující příklad vygeneruje požadavek na "https://contoso.com/api/customers/get?api_key=******"
.
Použití
Web.Contents("https://contoso.com/api/customers/get", [ApiKeyName="api_key"])
výstup
binary
Další informace
zpracování stavových kódů s Web.Contents ve vlastních konektorech