Statuscodes verwerken met behulp van Web.Contents

De functie Web.Contents heeft een aantal ingebouwde functionaliteit voor het omgaan met bepaalde HTTP-statuscodes. U kunt het standaardgedrag in uw extensie overschrijven met behulp van het ManualStatusHandling veld in de optiesrecord.

Automatisch opnieuw proberen

Web.Contents probeert automatisch aanvragen opnieuw uit te voeren die mislukken met een van de volgende statuscodes:

Code Toestand
408 Time-out aanvraag
429 Te veel aanvragen
503 Service niet beschikbaar
504 Gateway-time-out
509 Bandbreedtelimiet overschreden

De functie probeert maximaal drie keer opnieuw aanvragen uit te voeren voordat deze mislukt. De engine maakt gebruik van een exponentieel back-off-algoritme om te bepalen hoe lang moet worden gewacht tot de volgende nieuwe poging, tenzij het antwoord een Retry-after header bevat. Wanneer de header wordt gevonden, wacht de engine het opgegeven aantal seconden voordat de volgende nieuwe poging wordt uitgevoerd. De minimaal ondersteunde wachttijd is 0,5 seconden en de maximumwaarde is 120 seconden.

Opmerking

De Retry-after waarde moet de delta-seconds notatie hebben. De HTTP-date indeling wordt momenteel niet ondersteund.

Verificatie-uitzonderingen

De volgende statuscodes leiden tot een uitzondering voor aanmeldingsgegevens. De uitzondering vraagt de gebruiker om referenties op te geven of zich opnieuw aan te melden als een OAuth-token is verlopen.

Code Toestand
401 Niet geautoriseerd
403 Verboden

Opmerking

Extensies kunnen de ManualStatusHandling optie gebruiken met statuscodes 401 en 403. U kunt deze optie niet gebruiken in Web.Contents-aanroepen die buiten een aangepaste gegevensconnector om worden gedaan (dat wil zeggen, dus rechtstreeks vanuit Power Query).

Redirection

De volgende statuscodes veroorzaken een automatische omleiding naar de URI die is opgegeven in de Location header. Een ontbrekende Location header veroorzaakt een fout.

Code Toestand
300 Meerdere opties
301 Permanent verplaatst
302 Gevonden
303 Zie overige
307 Tijdelijke omleiding

Opmerking

Alleen statuscode 307 houdt een POST aanvraagmethode bij. Alle andere omleidingsstatuscodes schakelen over naar GET.