Statuskodebehandling med Web.Contents
Funksjonen Web.Contents
har noen innebygde funksjoner for å håndtere bestemte HTTP-statuskoder. Standardvirkemåten kan overstyres i utvidelsen ved hjelp av ManualStatusHandling
feltet i alternativposten.
Automatisk forsøk på nytt
Web.Contents
vil automatisk prøve forespørsler som mislykkes med én av følgende statuskoder:
Kode | Status |
---|---|
408 | Tidsavbrudd for forespørsel |
429 | For mange forespørsler |
503 | Tjenesten er utilgjengelig |
504 | Tidsavbrudd for gateway |
509 | Grense for båndbredde overskredet |
Forespørsler prøves på nytt opptil tre ganger før de mislykkes. Motoren bruker en eksponentiell back-off algoritme for å finne ut hvor lenge du skal vente til neste forsøk, med mindre svaret inneholder en Retry-after
topptekst. Når toppteksten blir funnet, venter motoren det angitte antallet sekunder før neste forsøk på nytt. Den minste ventetiden som støttes, er 0,5 sekunder, og maksimumsverdien er 120 sekunder.
Merk
Verdien Retry-after
må være i delta-seconds
formatet. Formatet HTTP-date
støttes for øyeblikket ikke.
Godkjenningsunntak
Følgende statuskoder vil resultere i et legitimasjonsunntak, noe som fører til at en godkjenningsforespørsel ber brukeren om å oppgi legitimasjon (eller logge på igjen i tilfelle et utløpt OAuth-token).
Kode | Status |
---|---|
401 | Uautorisert |
403 | Forbudt |
Merk
Utvidelser kan bruke ManualStatusHandling
alternativet med statuskodene 401 og 403, noe som ikke er noe som kan gjøres i Web.Contents
anrop som er gjort utenfor en egendefinert datakobling (det vil eksempel: direkte fra Power Query).
Omadressering
Følgende statuskoder resulterer i en automatisk omadressering til URI-en som er angitt i toppteksten Location
. En manglende Location
topptekst resulterer i en feil.
Kode | Status |
---|---|
300 | Flere valg |
301 | Flyttet permanent |
302 | Funnet |
303 | Se andre |
307 | Midlertidig omadressering |
Merk
Bare statuskode 307 beholder en POST
forespørselsmetode. Alle andre omadresseringsstatuskoder vil resultere i en overgang til GET
.