Sdílet prostřednictvím


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