Del via


Web.Contents

Syntaks

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

Om

Returnerer innholdet som lastes ned fra url som binært. Det kan være angitt en valgfri postparameter optionsfor å angi flere egenskaper. Posten kan inneholde følgende felt:

  • Query: Legg programmatisk til spørringsparametere i nettadressen uten å måtte bekymre deg for å slippe unna.
  • ApiKeyName: Hvis målområdet har en forestilling om en API-nøkkel, kan denne parameteren brukes til å angi navnet (ikke verdien) for nøkkelparameteren som må brukes i URL-adressen. Den faktiske nøkkelverdien angis i legitimasjonen.
  • Headers: Hvis du angir denne verdien som en post, får du flere overskrifter til en HTTP-forespørsel.
  • Timeout: Hvis du angir denne verdien som en varighet, endres tidsavbruddet for en HTTP-forespørsel. Standardverdien er 100 sekunder.
  • ExcludedFromCacheKey: Hvis du angir denne verdien som en liste, utelates disse HTTP-topptekstnøklene fra å være en del av beregningen for hurtigbufring av data.
  • IsRetry: Hvis du angir denne logiske verdien som sann, ignoreres eventuelle eksisterende svar i hurtigbufferen når du henter data.
  • ManualStatusHandling: Hvis du angir denne verdien som en liste, forhindres innebygd håndtering for HTTP-forespørsler som har en av disse statuskodene.
  • RelativePath: Hvis du angir denne verdien som tekst, føyer den til den grunnleggende URL-adressen før du foretar forespørselen.
  • Content: Hvis du angir denne verdien, endres webforespørselen fra EN HENT til et INNLEGG, ved hjelp av verdien for alternativet som innhold i POST.

HTTP-forespørselen gjøres enten som en GET (når det ikke er angitt innhold) eller et INNLEGG (når det er innhold). POST-forespørsler kan bare gjøres anonymt.

Topptekstene i HTTP-svaret er tilgjengelige som metadata for det binære resultatet. Utenfor en egendefinert datakoblingskontekst er bare et delsett av svaroverskrifter tilgjengelig (av sikkerhetsgrunner).

Eksempel 1

Hent innholdet i bruk RelativePath av "https://bing.com/search?q=Power+Query" alternativene og Query . Disse alternativene kan brukes til dynamisk spørring av en statisk basis-NETTADRESSE.

Bruk

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

Utdata

binary

Eksempel 2

Utfør et INNLEGG mot en NETTADRESSE, send en binær JSON-nyttelast og analyser svaret som JSON.

Bruk

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

Eksempel 3

Koble til til en sikker URL-adresse som godtar en godkjenningsnøkkel som en del av spørringsstrengen. I stedet for å hardkode den hemmelige nøkkelen i M (som ville utgjøre en sikkerhetsrisiko), kan nøkkelen gis sikkert ved å angi navnet (ikke verdien) i M, velge web-API-godkjenning og skrive inn nøkkelverdien som en del av web-API-legitimasjonen. Når det brukes på denne måten, vil eksemplet nedenfor generere en forespørsel til "https://contoso.com/api/customers/get?api_key=******".

Bruk

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

Utdata

binary

Mer informasjon

Statuskodehåndtering med Web.Contents i egendefinerte koblinger