Web.Contents
Syntaksi
Web.Contents(url as text, optional options as nullable record) as binary
Noin
Palauttaa url
ladatun sisällön binaarimuodossa. Valinnainen tietueparametri options
voidaan antaa määrittämään lisäominaisuuksia. Tietue voi sisältää seuraavat kentät:
-
Query
: Lisää kyselyparametreja ohjelmallisesti URL-osoitteeseen niin, ettei ohjauskopiosta tarvitse huolehtia. -
ApiKeyName
: Jos kohdesivustolla on käsitys API-avaimesta, tämän parametrin avulla voidaan määrittää URL-osoitteessa käytettävän avainparametrin nimi (ei arvo). Todellinen avainarvo annetaan tunnistetiedoissa. -
Headers
: Tämän arvon määrittäminen tietueena antaa lisäotsikot HTTP-pyynnölle. -
Timeout
: Tämän arvon määrittäminen kestona muuttaa HTTP-pyynnön aikakatkaisun. Oletusarvo on 100 sekuntia. -
ExcludedFromCacheKey
: Tämän arvon määrittäminen luettelona jättää pois nämä HTTP-otsikkoavaimet tietojen välimuistiin tallentamisen laskutoimituksesta. -
IsRetry
: Tämän loogisen arvon määrittäminen arvona tosi ohittaa välimuistissa olevan mahdollisen vastauksen tietoja noudettaessa. -
ManualStatusHandling
: Tämän arvon määrittäminen luettelona estää sellaisten HTTP-pyyntöjen sisäiset käsittelyt, joiden vastauksella on jokin näistä tilakoodeista. -
RelativePath
: Tämän arvon määrittäminen tekstinä lisää sen URL-perusosoitteeseen ennen pyynnön tekemistä. -
Content
: Tämän arvon määrittäminen muuttaa GET-verkkopyynnön POST-pyynnöksi käyttäen asetuksen arvoa POST-pyynnön sisältönä.
HTTP-pyyntö tehdään joko GET-muodossa (kun sisältöä ei ole määritetty) tai POST-pyynnönä (kun sisältöä on). POST-pyyntöjä voidaan tehdä vain nimettömästi.
HTTP-vastauksen otsikot ovat käytettävissä binaarituloksen metatietoina. Mukautetun tietoyhdistimen kontekstin ulkopuolella käytettävissä on vain vastausotsikoiden alijoukko (suojaussyistä).
Esimerkki 1
Nouda "https://bing.com/search?q=Power+Query"
sisältö käyttämällä RelativePath
- ja Query
-asetuksia. Näiden asetusten avulla voidaan tehdä dynaamisesti kysely staattisesta URL-osoitteesta.
käyttö
let
searchText = "Power Query"
in
Web.Contents(
"https://www.bing.com",
[
RelativePath = "search",
Query = [q = searchText]
]
)
Output
binary
Esimerkki 2
Suorita URL-osoitteen postaus, välitä binaarinen JSON-hyötykuorma ja jäsentää vastauksen JSON-muotoon.
käyttö
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
Esimerkki 3
Muodosta yhteys suojattuun URL-osoitteeseen, joka hyväksyy todennusavaimen osana sen kyselymerkkijonoa. Sen sijaan, että salaista avainta koodattaisiin M:ssä (jolloin kyseessä olisi tietoturvariski), avain voidaan antaa turvallisesti antamalla sen nimi (ei sen arvo) M:ssä, valitsemalla WWW-ohjelmointirajapinnan todennus ja antamalla avainarvo osana WWW-ohjelmointirajapinnan tunnistetietoja. Kun sitä käytetään tällä tavalla, seuraava esimerkki luo pyynnön "https://contoso.com/api/customers/get?api_key=******"
.
käyttö
Web.Contents("https://contoso.com/api/customers/get", [ApiKeyName="api_key"])
Output
binary
Lisätietoja
Tilakoodin käsittely Web.Contents avulla mukautettujen liittimien