Partager via


Gestion du code d’état avec Web.Contents

La Web.Contents fonction dispose d’une fonctionnalité intégrée pour traiter certains codes d’état HTTP. Le comportement par défaut peut être remplacé dans votre extension à l’aide du ManualStatusHandling champ dans l’enregistrement d’options.

Nouvelle tentative automatique

Web.Contents réessaye automatiquement les demandes qui échouent avec l’un des codes d’état suivants :

Code Statut
408 Délai d’expiration de la demande
429 Trop de demandes
503 Service indisponible
504 Délai d’expiration de la passerelle
509 Limite de bande passante dépassée

Les demandes seront retentées jusqu’à trois fois avant d’échouer. Le moteur utilise un algorithme d’interruption exponentielle pour déterminer la durée d’attente jusqu’à la nouvelle tentative suivante, sauf si la réponse contient un Retry-after en-tête. Lorsque l’en-tête est trouvé, le moteur attend le nombre de secondes spécifié avant la nouvelle tentative suivante. La durée d’attente minimale prise en charge est de 0,5 secondes et la valeur maximale est de 120 secondes.

Note

La Retry-after valeur doit être au delta-seconds format. Le HTTP-date format n’est actuellement pas pris en charge.

Exceptions d’authentification

Les codes d’état suivants entraînent une exception d’informations d’identification, ce qui provoque une invite d’authentification demandant à l’utilisateur de fournir des informations d’identification (ou de se reconnecter dans le cas d’un jeton OAuth expiré).

Code Statut
401 Non autorisé
4:03 Interdit

Note

Les extensions peuvent utiliser l’option ManualStatusHandling avec les codes d’état 401 et 403, ce qui n’est pas possible dans les appels effectués en Web.Contents dehors d’un connecteur de données personnalisé (c’est-à-dire directement depuis Power Query).

Redirection

Les codes d’état suivants entraînent une redirection automatique vers l’URI spécifié dans l’en-tête Location . Un en-tête manquant Location entraîne une erreur.

Code Statut
300 Choix multiples
301 Déplacé définitivement
302 Trouvé
303 Voir d’autres
307 Redirection temporaire

Note

Seul le code d’état 307 conserve une POST méthode de requête. Tous les autres codes d’état de redirection entraînent un basculement vers GET.