Web.Contents

Syntaks

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

Om

Returnerer det indhold, der er downloadet fra url , som binært. Der kan angives en valgfri postparameter for optionsat angive yderligere egenskaber. Posten kan indeholde følgende felter:

  • Query: Føj programmatisk forespørgselsparametre til URL-adressen uden at skulle bekymre dig om at undslippe.
  • ApiKeyName: Hvis destinationswebstedet har en definition af en API-nøgle, kan denne parameter bruges til at angive navnet (ikke værdien) på den nøgleparameter, der skal bruges i URL-adressen. Den faktiske nøgleværdi angives i legitimationsoplysningerne.
  • Headers: Hvis denne værdi angives som en post, vil der blive føjet flere overskrifter til en HTTP-anmodning.
  • Timeout: Hvis denne værdi angives som en varighed, ændres timeout for en HTTP-anmodning. Standardværdien er 100 sekunder.
  • ExcludedFromCacheKey: Hvis denne værdi angives som en liste, udelukkes disse HTTP-headernøgler fra at være en del af beregningen af cachelagring af data.
  • IsRetry: Hvis denne logiske værdi angives som true, ignoreres alle eksisterende svar i cachen, når der hentes data.
  • ManualStatusHandling: Hvis denne værdi angives som en liste, forhindres enhver indbygget håndtering af HTTP-anmodninger, hvis svar har en af disse statuskoder.
  • RelativePath: Hvis du angiver denne værdi som tekst, føjes den til den grundlæggende URL-adresse, før du foretager anmodningen.
  • Content: Hvis du angiver denne værdi, ændres webanmodningen fra en GET til en POST ved hjælp af indstillingens værdi som indholdet af POST.

HTTP-anmodningen foretages enten som en GET (når der ikke er angivet indhold) eller en POST (når der er indhold). POST-anmodninger kan kun foretages anonymt.

HTTP-svarets headere er tilgængelige som metadata for det binære resultat. Uden for en brugerdefineret dataconnectorkontekst er der kun et undersæt af svarheadere tilgængelige (af sikkerhedsmæssige årsager).

Eksempel 1

Hent indholdet af ved hjælp RelativePath af "https://bing.com/search?q=Power+Query" indstillingerne og Query . Disse indstillinger kan bruges til dynamisk at forespørge på en statisk url-adresse.

Brug

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

Output

binary

Eksempel 2

Udfør en POST mod en URL-adresse, send en binær JSON-nyttedata og fortolker svaret som JSON.

Brug

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

Output

table

Eksempel 3

Forbind til en sikker URL-adresse, der accepterer en godkendelsesnøgle som en del af forespørgselsstrengen. I stedet for at kode den hemmelige nøgle hårdt i M (hvilket udgør en sikkerhedsrisiko), kan nøglen leveres sikkert ved at angive dens navn (ikke dens værdi) i M, vælge Web-API-godkendelse og angive nøgleværdien som en del af web-API-legitimationsoplysningerne. Når det bruges på denne måde, genererer følgende eksempel en anmodning til "https://contoso.com/api/customers/get?api_key=******".

Brug

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

Output

binary

Mere information

Håndtering af statuskode med Web.Contents i brugerdefinerede connectors