Håndter statuskoder ved å bruke Web.Contents

Web.Contents-funksjonen har innebygd funksjonalitet for å håndtere visse HTTP-statuskoder. Du kan overstyre standardoppførselen i utvidelsen ved å bruke ManualStatusHandling feltet i options-posten.

Automatisk omprøving

Web.Contents prøver automatisk forespørsler på nytt med en av følgende statuskoder:

Kode Status
408 Be om tidsavbrudd
429 For mange forespørsler
503 Tjenesten er utilgjengelig
504 Tidsavbrudd for gateway
509 Båndbreddegrensen overskredet

Funksjonen prøver forespørsler på nytt opptil tre ganger før den feiler. Motoren bruker en eksponentiell back-off-algoritme for å bestemme hvor lenge den skal vente til neste forsøk, med mindre svaret inneholder en Retry-after header. Når headeren finnes, venter motoren det angitte antallet sekunder før neste forsøk. Minimum støttet ventetid er 0,5 sekunder, og maksimal verdi er 120 sekunder.

Note

Verdien Retry-after må være i formatet delta-seconds . Formatet HTTP-date støttes ikke for øyeblikket.

Autentiseringsunntak

Følgende statuskoder forårsaker et unntak for legitimasjon. Unntaket ber brukeren oppgi legitimasjon eller logge inn igjen hvis en OAuth-token har utløpt.

Kode Status
401 Uautorisert
403 Forbudt

Note

Utvidelser kan bruke ManualStatusHandling alternativet med statuskodene 401 og 403. Du kan ikke bruke dette alternativet i Web.Contents kall gjort utenfor en egendefinert datakobling (altså direkte fra Power Query).

Omdirigering

Følgende statuskoder forårsaker en automatisk omdirigering til URI-en som er spesifisert i Location headeren. En manglende Location header forårsaker en feil.

Kode Status
300 Flervalg
301 Flyttet permanent
302 Grunnlegge
303 Se annet
307 Midlertidig omdirigering

Note

Kun statuskode 307 beholder en POST forespørselsmetode. Alle andre omdirigeringsstatuskoder bytter til GET.