Läs på engelska

Dela via


Web.Contents

Syntax

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

Om

Returnerar innehållet som laddats ned 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 undantas 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]
        ]
    )

utdata

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

utdata

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å detta sätt 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"])

utdata

binary

Mer information

Statuskodhantering med Web.Contents i anpassade kontakter