Zpracování stavových kódů pomocí Web.Contents
Funkce Web.Contents
má několik integrovaných funkcí pro práci s určitými stavovými kódy HTTP. Výchozí chování můžete v rozšíření přepsat pomocí ManualStatusHandling
pole v záznamu možností.
Automatické opakování
Web.Contents
automaticky zopakuje žádosti, které selžou s jedním z následujících stavových kódů:
Kód | Stav |
---|---|
408 | Časový limit požadavku |
429 | Příliš mnoho požadavků |
503 | Nedostupná služba |
504 | Časový limit brány |
509 | Překročení limitu šířky pásma |
Žádosti se budou opakovat až třikrát předtím, než selžou. Modul používá exponenciální back-off algoritmus k určení, jak dlouho má čekat na další opakování, pokud odpověď neobsahuje hlavičku Retry-after
. Když se hlavička najde, modul počká na zadaný počet sekund před dalším opakováním. Minimální podporovaná doba čekání je 0,5 sekund a maximální hodnota je 120 sekund.
Poznámka:
Hodnota Retry-after
musí být ve delta-seconds
formátu. Formát HTTP-date
se v současné době nepodporuje.
Výjimky ověřování
Následující stavové kódy způsobí výjimku přihlašovacích údajů, což způsobí výzvu k ověření s žádostí uživatele o zadání přihlašovacích údajů (nebo se znovu přihlásit v případě tokenu OAuth s vypršenou platností).
Kód | Stav |
---|---|
401 | Neautorizováno |
403 | Zakázáno |
Poznámka:
Rozšíření můžou používat ManualStatusHandling
možnost se stavovými kódy 401 a 403, což není něco, co je možné provést ve Web.Contents
voláních provedených mimo vlastní datový konektor (to znamená přímo z Power Query).
Přesměrování
Následující stavové kódy způsobí automatické přesměrování na identifikátor URI zadaný v Location
hlavičce. Chybějící Location
záhlaví způsobí chybu.
Kód | Stav |
---|---|
300 | Více možností |
301 | Trvale přesunuto |
302 | Nalezen |
303 | Zobrazit další |
307 | Dočasné přesměrování |
Poznámka:
Metodu POST
požadavku zachová pouze stavový kód 307. Všechny ostatní stavové kódy přesměrování způsobí přepnutí na GET
.