Web.Contents
Syntax
Web.Contents(url as text, optional options as nullable record) as binary
Om
Returnerar innehållet som hämtats från url
som binärt. En valfri postparameter, options
, kan tillhandahållas för att ange ytterligare egenskaper. Posten kan innehålla följande fält:
Query
: Lägg programmatiskt till frågeparametrar till URL:en utan att behöva oroa dig för att komma undan.ApiKeyName
: Om målplatsen har en uppfattning om en API-nyckel kan den här parametern användas för att ange namnet (inte värdet) på nyckelparametern som måste användas i URL:en. Det faktiska nyckelvärdet anges i autentiseringsuppgiften.Headers
: Om du anger det här värdet som en post skickas ytterligare rubriker till en HTTP-begäran.Timeout
: Om du anger det här värdet som varaktighet ändras tidsgränsen för en HTTP-begäran. Standardvärdet är 100 sekunder.ExcludedFromCacheKey
: Om du anger det här värdet som en lista utesluts dessa HTTP-huvudnycklar från att ingå i beräkningen för cachelagring av data.IsRetry
: Om du anger det här logiska värdet som sant ignoreras alla befintliga svar i cacheminnet när data hämtas.ManualStatusHandling
: Om du anger det här värdet som en lista förhindras all inbyggd hantering av HTTP-begäranden vars svar har någon av dessa statuskoder.RelativePath
: Om du anger det här värdet som text läggs det till i bas-URL:en innan begäran skickas.Content
: Om du anger det här värdet ändras webbbegäran från en GET till en POST med alternativets värde som innehåll i POST.
HTTP-begäran görs antingen som en GET (när inget innehåll har angetts) eller ett POST (när det finns innehåll). POST-begäranden får endast göras anonymt.
Sidhuvudena för HTTP-svaret är tillgängliga som metadata för det binära resultatet. Utanför en kontext för anpassad dataanslutning är endast en delmängd av svarshuvuden tillgängliga (av säkerhetsskäl).
Exempel 1
Hämta innehållet i "https://bing.com/search?q=Power+Query"
med alternativen RelativePath
och Query
. De här alternativen kan användas för att dynamiskt köra frågor mot en statisk bas-URL.
Användning
let
searchText = "Power Query"
in
Web.Contents(
"https://www.bing.com",
[
RelativePath = "search",
Query = [q = searchText]
]
)
Output
binary
Exempel 2
Utför ett POST mot en URL, skicka en binär JSON-nyttolast och parsa svaret som JSON.
Användning
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
Exempel 3
Anslut till en säker URL som accepterar en autentiseringsnyckel som en del av frågesträngen. I stället för att hårdkoda den hemliga nyckeln i M (vilket skulle utgöra en säkerhetsrisk) kan nyckeln tillhandahållas på ett säkert sätt genom att ange dess namn (inte dess värde) i M, välja Webb-API-autentisering och ange nyckelvärdet som en del av webb-API:ets autentiseringsuppgifter. När det används på det här sättet genererar följande exempel en begäran till "https://contoso.com/api/customers/get?api_key=******"
.
Användning
Web.Contents("https://contoso.com/api/customers/get", [ApiKeyName="api_key"])
Output
binary
Mer information
Statuskodhantering med Web.Contents i anpassade anslutningsappar