Del via


Håndtering af statuskode med Web.Contents

Funktionen Web.Contents har indbygget funktionalitet til håndtering af visse HTTP-statuskoder. Standardfunktionsmåden kan tilsidesættes i filtypenavnet ved hjælp af feltet ManualStatusHandling i indstillingsposten.

Automatisk forsøg igen

Web.Contents forsøger automatisk anmodninger, der mislykkes, med en af følgende statuskoder:

Kode Status
408 Timeout for anmodning
429 For mange anmodninger
503 Tjenesten er ikke tilgængelig
504 Gateway Timeout
509 Båndbreddegrænsen er overskredet

Anmodninger vil blive forsøgt igen op til tre gange, før der mislykkes. Programmet bruger en eksponentiel back-off-algoritme til at bestemme, hvor længe der skal ventes til næste forsøg, medmindre svaret indeholder en Retry-after header. Når headeren er fundet, venter programmet det angivne antal sekunder før det næste forsøg. Den mindste understøttede ventetid er 0,5 sekunder, og maksimumværdien er 120 sekunder.

Bemærk

Værdien Retry-after skal være i delta-seconds formatet. Formatet HTTP-date understøttes ikke i øjeblikket.

Godkendelsesundtagelser

Følgende statuskoder resulterer i en undtagelse for legitimationsoplysninger, hvilket medfører en godkendelsesprompt, hvor brugeren bliver bedt om at angive legitimationsoplysninger (eller logge på igen i tilfælde af et udløbet OAuth-token).

Kode Status
401 Ikke autoriseret
403 Ikke tilladt

Bemærk

Udvidelser kan bruge ManualStatusHandling indstillingen med statuskoder 401 og 403, hvilket ikke er noget, der kan gøres i Web.Contents kald, der foretages uden for en brugerdefineret dataconnector (dvs. direkte fra Power Query).

Omdirigering

Følgende statuskoder resulterer i en automatisk omdirigering til den URI, der er angivet i headeren Location . En manglende Location header resulterer i en fejl.

Kode Status
300 Flere valgmuligheder
301 Flyttet permanent
302 Fundet
303 Se andet
307 Midlertidig omdirigering

Bemærk

Det er kun statuskoden 307, der bevarer en POST anmodningsmetode. Alle andre omdirigeringsstatuskoder resulterer i en skift til GET.