Freigeben über


Statuscodebehandlung mit Web.Contents

Die Web.Contents Funktion verfügt über einige integrierte Funktionen für den Umgang mit bestimmten HTTP-Statuscodes. Das Standardverhalten kann in Ihrer Erweiterung mithilfe des ManualStatusHandling Felds im Optionsdatensatz überschrieben werden.

Automatische Wiederholung

Web.Contents wiederholt automatisch Anforderungen, die mit einem der folgenden Statuscodes fehlschlagen:

Code Der Status
408 Anforderungstimeout
429 Zu viele Anforderungen
503 Dienst nicht verfügbar
504 Gatewaytimeout
509 Bandbreitengrenzwert überschritten

Anfragen werden bis zu dreimal wiederholt, bevor sie als fehlgeschlagen betrachtet werden. Das Modul verwendet einen exponentiellen Back-Off-Algorithmus, um zu bestimmen, wie lange gewartet werden soll, bis der nächste Wiederholungsversuch stattfindet, außer die Antwort enthält einen Retry-after Header. Wenn der Header gefunden wird, wartet das Modul die angegebene Anzahl von Sekunden, bevor der nächste Wiederholungsversuch erfolgt. Die minimale unterstützte Wartezeit beträgt 0,5 Sekunden, und der Maximalwert beträgt 120 Sekunden.

Hinweis

Der Retry-after Wert muss im delta-seconds Format vorliegen. Das HTTP-date Format wird derzeit nicht unterstützt.

Authentifizierungs ausnahmen

Die folgenden Statuscodes führen zu einer Anmeldeinformationen-Ausnahme, was dazu führt, dass der Benutzer zur Angabe von Anmeldeinformationen aufgefordert wird (oder sich im Falle eines abgelaufenen OAuth-Tokens erneut anmelden muss).

Code Der Status
401 Nicht autorisiert
403 Verboten

Hinweis

Erweiterungen können die ManualStatusHandling Option mit den Statuscodes 401 und 403 verwenden, was in Web.Contents Aufrufen außerhalb eines benutzerdefinierten Datenconnectors (d. h. direkt von Power Query aus) nicht möglich ist.

Redirection

Die folgenden Statuscodes führen zu einer automatischen Umleitung zum im Location Header angegebenen URI. Ein fehlender Location Header führt zu einem Fehler.

Code Der Status
300 Mehrfachauswahl
301 Dauerhaft verschoben
302 Gefunden
303 Siehe andere
307 Temporäre Umleitung

Hinweis

Nur Statuscode 307 behält eine POST Anforderungsmethode bei. Alle anderen Umleitungsstatuscodes führen zu einer Umstellung auf GET.