Web.Contents

Syntaxe

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

O aplikaci

Vrátí obsah stažený z url binárního souboru. Volitelný parametr záznamu options, lze zadat další vlastnosti. Záznam může obsahovat následující pole:

  • Query: Do adresy URL můžete přidávat 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 určení 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: Zadáním této hodnoty jako seznamu zabráníte jakémukoli integrovanému zpracování požadavků HTTP, jejichž odpověď má jeden z těchto stavových kódů.
  • RelativePath: Tuto hodnotu zadáte jako text, který před provedením požadavku připojí k základní adrese URL.
  • Content: Zadáním této hodnoty změníte 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" použití RelativePath a Query možnosti. Tyto možnosti lze použít k dynamickému dotazování statické základní adresy URL.

Využití

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

Výstup

binary

Příklad 2

Proveďte post na adrese URL a předáte binární datovou část JSON a parsuje odpověď jako JSON.

Využ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ýstup

table

Příklad 3

Připojení na zabezpečenou adresu 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=******".

Využití

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

Výstup

binary

Více informací

Zpracování stavových kódů pomocí web.Contents ve vlastních konektorech