Compartir a través de


Control de los códigos de estado con Web.Contents

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

Reintento automático

Web.Contents reintenta automáticamente las solicitudes que dan 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 excedido

Las solicitudes se reintentan hasta tres veces antes de mostrar un error. El motor usa un algoritmo de retroceso exponencial para determinar cuánto tiempo debe esperar hasta el siguiente reintento, a menos que la respuesta contenga un encabezado Retry-after. Cuando encuentra el encabezado, el motor espera 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 valor Retry-after debe tener el formato delta-seconds. Actualmente no se admite el formato HTTP-date.

Excepciones de autenticación

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

Código Estado
401 No autorizado
403 Prohibida

Nota:

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

Redireccionamiento

Los siguientes códigos de estado dan lugar al redireccionamiento automático al URI especificado en el encabezado Location. Si falta el encabezado Location, se produce un error.

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

Nota:

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