Afhandeling van statuscode met Web.Contents

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

Automatisch opnieuw proberen

Web.Contents zal aanvragen die mislukken automatisch opnieuw proberen met een van de volgende statuscodes:

Code Status
408 Time-out van aanvraag
429 Te veel aanvragen
503 Service niet beschikbaar
504 Time-out van gateway
509 Bandbreedtelimiet overschreden

Aanvragen worden maximaal drie keer opnieuw ingediend voordat het mislukt. De engine gebruikt een exponentieel 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 poging wordt gedaan. De minimaal ondersteunde wachttijd is 0,5 seconden en de maximumwaarde is 120 seconden.

Notitie

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

Verificatie-uitzonderingen

De volgende statuscodes resulteren in een referentie-uitzondering, waardoor de gebruiker wordt gevraagd referenties op te geven (of zich opnieuw aan te melden in het geval van een verlopen OAuth-token).

Code Status
401 Niet geautoriseerd
403 Verboden

Notitie

Extensies kunnen de optie gebruiken met ManualStatusHandling de statuscodes 401 en 403. Dit is niet iets dat kan worden gedaan in aanroepen die buiten een extensiecontext worden gedaan (dat wil zeggen, rechtstreeks vanuit Web.Contents Power Query).

Omleiding

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

Code Status
300 Meerdere opties
301 Permanent verplaatst
302 Gevonden
303 Zie Overige
307 Tijdelijke omleiding

Notitie

Alleen statuscode 307 be bewaren een POST aanvraagmethode. Alle andere omleidingsstatuscodes resulteren in een overgang naar GET .