Behandlung von Statuscodes mit Web.Contents
Die Web.Contents
Function verfügt über einige integrierte Funktionen für den Umgang mit bestimmten HTTP-Statuscodes. Das Standardverhalten kann in Ihrer Erweiterung über das ManualStatusHandling
Feld im Optionsdatensatz außer Kraft gesetzt werden.
Automatischer Wiederholungsversuch
Web.Contents
wird automatisch Anforderungen wiederholen, die mit einem der folgenden Statuscodes fehlschlagen:
Code | Status |
---|---|
408 | Anforderungstimeout |
429 | Zu viele Anforderungen |
503 | Dienst nicht verfügbar |
504 | Gateway-Timeout |
509 | Bandbreitenlimit überschritten |
Die Anforderungen werden bis zu drei Mal wiederholt, bevor sie fehlschlagen. Das Modul verwendet einen exponentiellen Back-Off-Algorithmus, um zu bestimmen, wie lange es bis zum nächsten Wiederholungsversuch warten muss, es sei denn, die Antwort enthält einen Retry-after
Header. Wenn der Header gefunden wird, wartet das Modul die angegebene Anzahl von Sekunden, bevor es den nächsten Versuch unternimmt. Die minimale unterstützte Wartezeit ist 0,5 Sekunden und der maximale Wert ist 120 Sekunden.
Hinweis
Der Retry-after
Wert muss im delta-seconds
Format angegeben werden. Das HTTP-date
Format wird zurzeit nicht unterstützt.
Ausnahmen bei der Authentifizierung
Die folgenden Statuscodes führen zu einer Ausnahme bei den Anmeldeinformationen, die eine Authentifizierungsaufforderung auslöst, in der der Benutzer aufgefordert wird, seine Anmeldeinformationen anzugeben (oder sich im Falle eines abgelaufenen OAuth-Tokens erneut anzumelden).
Code | Status |
---|---|
401 | Nicht autorisiert |
403 | Verboten |
Hinweis
Erweiterungen können die ManualStatusHandling
Option mit den Statuscodes 401 und 403 verwenden, was bei Web.Contents
Aufrufen außerhalb eines benutzerdefinierten Datenkonnektors (d. h. direkt aus Power Query) nicht möglich ist.
Umleitung
Die folgenden Statuscodes führen zu einer automatischen Weiterleitung zu der im Location
Header angegebenen URL. Ein fehlender Location
Header führt zu einem Fehler.
Code | Status |
---|---|
300 | Mehrere Auswahlmöglichkeiten (Multiple Choises) |
301 | Permanent verschoben |
302 | Gefunden |
303 | Siehe Sonstiges |
307 | Temporäre Umleitung |
Hinweis
Nur der Statuscode 307 behält eine POST
Anforderung als Methode. Alle anderen Redirect-Statuscodes führen zu einem Wechsel zu GET
.