Del via


Håndtering av statuskode med Web.Contents

Funksjonen Web.Contents har noe innebygd funksjonalitet for å håndtere visse HTTP-statuskoder. Standardoppførselen kan overstyres i utvidelsen din ved å bruke ManualStatusHandling feltet i options-posten.

Automatisk omprøving

Web.Contents vil automatisk prøve forespørsler på nytt som mislykkes 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

Forespørsler vil bli prøvd på nytt opptil tre ganger før de mislykkes. 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 er funnet, vil motoren vente 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 for øyeblikket ikke.

Autentiseringsunntak

Følgende statuskoder vil resultere i et unntak for legitimasjon, som fører til en autentiseringsprompt som ber brukeren oppgi legitimasjon (eller logge inn igjen ved utløpt OAuth-token).

Kode Status
401 Uautorisert
403 Forbudt

Note

Utvidelser kan bruke ManualStatusHandling alternativet med statuskodene 401 og 403, noe som ikke kan gjøres i Web.Contents kall gjort utenfor en egendefinert datakobling (altså direkte fra Power Query).

Omdirigering

Følgende statuskoder vil resultere i en automatisk omdirigering til URI-en som er spesifisert i Location headeren. En manglende Location header vil føre til 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 vil resultere i en overgang til GET.