Del via


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.