Teilen über


Web.Contents

Syntax

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

About

Gibt den Inhalt zurück, der als url binär heruntergeladen wurde. Ein optionaler Datensatzparameter kann bereitgestellt werden, optionsum zusätzliche Eigenschaften anzugeben. Der Datensatz kann die folgenden Felder enthalten:

  • Query: Fügen Sie der URL programmgesteuert Abfrageparameter hinzu, ohne sich Gedanken über das Escapen machen zu müssen.
  • ApiKeyName: Wenn die Zielwebsite einen API-Schlüssel hat, kann dieser Parameter verwendet werden, um den Namen (nicht den Wert) des Schlüsselparameters anzugeben, der in der URL verwendet werden muss. Der tatsächliche Schlüsselwert wird in den Anmeldeinformationen bereitgestellt.
  • Headers: Wenn Sie diesen Wert als Datensatz angeben, werden zusätzliche Header für eine HTTP-Anforderung bereitgestellt.
  • Timeout: Wenn Sie diesen Wert als Dauer angeben, ändert sich das Timeout für eine HTTP-Anforderung. Der Standardwert ist 100 Sekunden.
  • ExcludedFromCacheKey: Wenn Sie diesen Wert als Liste angeben, werden diese HTTP-Headerschlüssel von der Berechnung zum Zwischenspeichern von Daten ausgeschlossen.
  • IsRetry: Wenn Sie diesen Wahrheitswert als "true" angeben, werden beim Abrufen von Daten alle vorhandenen Antworten im Cache ignoriert.
  • ManualStatusHandling: Die Angabe dieses Werts als Liste verhindert die integrierte Verarbeitung für HTTP-Anforderungen, deren Antwort einen dieser Statuscodes aufweist.
  • RelativePath: Gibt diesen Wert als Text an, fügt ihn an die Basis-URL an, bevor die Anforderung ausgeführt wird.
  • Content: Durch Angeben dieses Werts wird die Webanforderung von einem GET in einen POST geändert, wobei der Wert der Option als Inhalt der POST verwendet wird.

Die HTTP-Anforderung wird entweder als GET (wenn kein Inhalt angegeben wird) oder als POST (wenn Inhalt vorhanden ist) durchgeführt. POST-Anfragen dürfen nur anonym erfolgen.

Die Header der HTTP-Antwort sind als Metadaten für das binäre Ergebnis verfügbar. Außerhalb eines benutzerdefinierten Datenkonnektorkontexts ist nur eine Teilmenge von Antwortheadern verfügbar (aus Sicherheitsgründen).

Beispiel 1

Rufen Sie den Inhalt der Verwendung der "https://bing.com/search?q=Power+Query"RelativePath Optionen ab Query . Diese Optionen können verwendet werden, um eine statische Basis-URL dynamisch abzufragen.

Verwendung

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

Output

binary

Beispiel 2

Führen Sie einen POST für eine URL durch, und übergeben Sie eine binäre JSON-Nutzlast und analysieren Sie die Antwort als JSON.

Verwendung

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

Beispiel 3

Stellen Sie eine Verbindung mit einer sicheren URL her, die einen Authentifizierungsschlüssel als Teil der Abfragezeichenfolge akzeptiert. Anstatt den geheimen Schlüssel in M (was ein Sicherheitsrisiko darstellen würde) hartcodieren zu müssen, kann der Schlüssel sicher bereitgestellt werden, indem er seinen Namen (nicht seinen Wert) in M angibt, die Web-API-Authentifizierung auswählt und den Schlüsselwert als Teil der Web-API-Anmeldeinformationen eingibt. Wenn sie auf diese Weise verwendet wird, generiert das folgende Beispiel eine Anforderung an "https://contoso.com/api/customers/get?api_key=******".

Verwendung

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

Output

binary

Mehr Informationen

Statuscodebehandlung in Web.Contents benutzerdefinierten Connectors