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.