Käsittele tilakoodit käyttämällä Web.Contents

Web.Contents-toiminnossa on sisäänrakennettuja toimintoja tiettyjen HTTP-tilakoodien käsittelyyn. Voit ohittaa laajennuksen oletuskäyttäytymisen käyttämällä ManualStatusHandlingasetusten tietueen kenttää.

Automaattinen uudelleenyritys

Web.Contents yrittää automaattisesti uudelleen pyyntöjä, jotka epäonnistuvat jollain seuraavista tilakoodeista:

Postinumero Status
408 Pyydä aikakatkaisua
429 Liian monta pyyntöä
503 Palvelu ei ole käytettävissä
504 Yhdyskäytävän aikakatkaisu
509 Kaistanleveysraja ylitetty

Funktio yrittää pyyntöjä jopa kolme kertaa ennen kuin epäonnistuu. Moottori käyttää eksponentiaalista peruutusalgoritmia määrittääkseen, kuinka kauan odotetaan seuraavaan uudelleenyritykseen, ellei vastauksessa ole otsikkoa Retry-after . Kun otsikko löytyy, moottori odottaa määritellyn määrän sekunteja ennen seuraavaa uudelleenyritystä. Vähimmäisodotusaika on 0,5 sekuntia ja maksimiarvo 120 sekuntia.

Note

Arvon Retry-after täytyy olla formaatissa delta-seconds . Formaattia HTTP-date ei tällä hetkellä tueta.

Todennuspoikkeukset

Seuraavat tilakoodit aiheuttavat tunnistetietojen poikkeuksen. Poikkeus kehottaa käyttäjää antamaan tunnistetiedot tai kirjautumaan uudelleen sisään, jos OAuth-token vanhenee.

Postinumero Status
401 Luvaton
403 Kielletty

Note

Laajennukset voivat käyttää ManualStatusHandling vaihtoehtoa tilakoodeilla 401 ja 403. Tätä vaihtoehtoa ei voi käyttää puheluissaWeb.Contents, jotka tehdään mukautetun dataliittimen ulkopuolella (eli suoraan Power Query:stä).

Uudelleenohjaus

Seuraavat tilakoodit aiheuttavat automaattisen uudelleenohjauksen otsikossa määritettyyn URI Location :hen. Puuttuva Location otsikko aiheuttaa virheen.

Postinumero Status
300 Monivalinta
301 Muutettu pysyvästi
302 Perustaa
303 Katso muut
307 Väliaikainen uudelleenohjaus

Note

Vain tilakoodi 307 säilyttää POST pyyntömenetelmän. Kaikki muut uudelleenohjaustilakoodit vaihtuvat .GET