Spracovanie kódu stavu pomocou Web.Contents
Funkcia Web.Contents
má niekoľko vstavaných funkcií na prácu s určitými kódmi stavu HTTP. Predvolené správanie je možné prepísané vo vašom rozšírení pomocou ManualStatusHandling
poľa v zázname možností.
Automatické opätovné pokusy
Web.Contents
automaticky zopakuje požiadavky, ktoré zlyhajú pri niektorom z nasledujúcich kódov stavu:
kód | Status |
---|---|
408 | Časový limit požiadavky |
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 |
Žiadosti sa zopakovajú až trikrát, potom zlyhajú. Nástroj používa exponenciálny spätný algoritmus na určenie dlhého čakania do ďalšieho pokusu, pokiaľ odpoveď neobsahuje hlavičku Retry-after
. Keď sa hlavička nájde, nástroj počká zadaný počet sekúnd pred ďalším pokusom. Minimálny podporovaný čas č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
. Formát HTTP-date
v súčasnosti nie je podporovaný.
Výnimky overovania
Výsledkom nasledujúcich kódov stavu bude výnimka poverení, čo spôsobí výzvu na overovanie, ktorá používateľa požiada, aby poskytol poverenia (alebo sa znova prihlásil v prípade uplynutia platnosti tokenu OAuth).
kód | Status |
---|---|
401 | Neoprávnené |
403 | Zakázané |
Poznámka
Rozšírenia môžu používať ManualStatusHandling
možnosť pomocou kódov stavu 401 a 403, čo nie je niečo, čo možno vykonať vo Web.Contents
volaniach mimo vlastného konektora údajov (to znamená priamo z Power Query).
Presmerovanie
Nasledujúce kódy stavu budú mať za následok automatické presmerovanie na identifikátor URI zadaný v hlavičke Location
. Chýbajúca Location
hlavička bude mať za následok chybu.
kód | Status |
---|---|
300 | Viaceré možnosti |
301 | Natrvalo presunuté |
302 | Našiel |
303 | Zobraziť iné |
307 | Dočasné presmerovanie |
Poznámka
Iba kód stavu 307 zachová metódu POST
požiadavky. Všetky ostatné kódy stavu presmerovania budú mať za následok prepnutie na GET
.