Compartir a través de


Control de código de estado con Web.Contents

La Web.Contents función tiene alguna funcionalidad integrada para tratar determinados códigos de estado HTTP. El comportamiento predeterminado se puede invalidar en la extensión mediante el ManualStatusHandling campo del registro de opciones.

Reintento automático

Web.Contents reintentará automáticamente las solicitudes que produzcan un error con uno de los siguientes códigos de estado:

Código Estado
408 Tiempo de espera de solicitud
429 Demasiadas solicitudes
503 Servicio no disponible
504 Tiempo de espera de puerta de enlace
509 Límite de ancho de banda superado

Las solicitudes se reintentarán hasta tres veces antes de fallar. El motor usa un algoritmo de retroceso exponencial para determinar cuánto tiempo se debe esperar hasta el siguiente reintento, a menos que la respuesta contenga un Retry-after encabezado. Cuando se encuentre el encabezado, el motor esperará el número de segundos especificado antes del siguiente reintento. El tiempo de espera mínimo admitido es de 0,5 segundos y el valor máximo es de 120 segundos.

Nota:

El Retry-after valor debe estar en el delta-seconds formato . El HTTP-date formato no se admite actualmente.

Excepciones de autenticación

Los siguientes códigos de estado darán lugar a una excepción de credenciales, lo que provoca una solicitud de autenticación que pide al usuario que proporcione credenciales (o vuelva a iniciar sesión en el caso de un token de OAuth expirado).

Código Estado
401 No autorizado
403 Prohibido

Nota:

Las extensiones pueden usar la opción ManualStatusHandling con códigos de estado 401 y 403, algo que no se puede hacer en llamadas Web.Contents realizadas fuera de un conector de datos personalizado (es decir, directamente desde Power Query).

Redirection

Los siguientes códigos de estado darán lugar a una redirección automática al URI especificado en el Location encabezado. Si falta Location un encabezado, se producirá un error.

Código Estado
300 Varias opciones
301 Movido Permanentemente
302 Encontrado
303 Ver otros
307 Redirección temporal

Nota:

Solo el código de estado 307 mantendrá un POST método de solicitud. Todos los demás códigos de estado de redireccionamiento producirán un cambio a GET.