Zdieľať cez


Spracovanie stavových kódov pomocou Web.Contents

Funkcia Web.Contents má zabudované funkcie na spracovanie určitých HTTP stavových kódov. Predvolené správanie je možné prepísať vo vašom rozšírení pomocou poľa ManualStatusHandling v zázname možností.

Automatické opakovanie pokusov

Web.Contents automaticky zopakuje požiadavky, ktoré zlyhajú, s jedným z nasledujúcich stavových kódov:

Kód Status
408 Časový limit žiadosti
429 Príliš veľa požiadaviek
503 Služba nie je k dispozícii
504 Časový limit brány
509 Prekročený limit šírky pásma

Požiadavky sa budú skúšať až trikrát, kým nebudú úspešné. Engine používa exponenciálny algoritmus odstupu na určenie, ako dlho čakať na ďalší pokus, pokiaľ odpoveď neobsahuje hlavičku Retry-after . Keď je hlavička nájdená, engine počká stanovený počet sekúnd pred ďalším pokusom. Minimálna podporovaná doba čakania je 0,5 sekundy a maximálna hodnota je 120 sekúnd.

Poznámka

Hodnota Retry-after musí byť vo formáte delta-seconds . Tento HTTP-date formát momentálne nie je podporovaný.

Výnimky pre autentifikáciu

Nasledujúce stavové kódy spôsobia výnimku pre prihlasovacie údaje, čo spôsobí autentifikačnú výzvu žiadajúcu používateľa o zadanie prihlasovacích údajov (alebo opätovné prihlásenie v prípade expirovaného OAuth tokenu).

Kód Status
401 Neoprávnený
403 Zakázané

Poznámka

Rozšírenia môžu túto možnosť použiť ManualStatusHandling so stavovými kódmi 401 a 403, čo nie je niečo, čo by sa dalo robiť pri Web.Contents hovoroch mimo vlastného dátového konektora (teda priamo z Power Query).

Presmerovanie

Nasledujúce stavové kódy spôsobia automatické presmerovanie na URI uvedené v hlavičke Location . Chýbajúca Location hlavička spôsobí chybu.

Kód Status
300 Výberové otázky
301 Trvalý presun
302 Založiť
303 Pozri iné
307 Dočasné presmerovanie

Poznámka

Iba stavový kód 307 si ponechá metódu POST požiadavky. Všetky ostatné stavové kódy presmerovania spôsobia prechod na GET.