Web.Contents
Syntaks
Web.Contents(url as text, optional options as nullable record) as binary
Omtrent
Returnerer det indhold, der er downloadet fra url
som binært. Der kan angives en valgfri postparameter, options
, for at 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 du angiver denne værdi som en post, vil der blive føjet flere overskrifter til en HTTP-anmodning. -
Timeout
: Hvis du angiver denne værdi 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 du angiver denne logiske værdi som sand, 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 anmodningen foretages. -
Content
: Hvis du angiver denne værdi, ændres webanmodningen fra en GET til en POST ved hjælp af værdien af indstillingen 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 "https://bing.com/search?q=Power+Query"
ved hjælp af indstillingerne for RelativePath
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
Opret forbindelse 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 om at "https://contoso.com/api/customers/get?api_key=******"
.
brug
Web.Contents("https://contoso.com/api/customers/get", [ApiKeyName="api_key"])
output
binary
Flere oplysninger
Håndtering af statuskode med Web.Contents i brugerdefinerede connectors