Condividi tramite


Gestione del codice di stato con Web.Contents

La Web.Contents funzione include alcune funzionalità predefinite per la gestione di determinati codici di stato HTTP. È possibile eseguire l'override del comportamento predefinito nell'estensione usando il ManualStatusHandling campo nel record delle opzioni.

Ripetizione automatica dei tentativi

Web.Contents ritenta automaticamente le richieste che hanno esito negativo con uno dei codici di stato seguenti:

Codice Status
408 Timeout richiesta
429 Troppe richieste
503 Servizio non disponibile
504 Timeout del gateway
509 Larghezza di banda superata

Le richieste verranno ritentate fino a tre volte prima dell'esito negativo. Il motore usa un algoritmo di back-off esponenziale per determinare quanto tempo attendere fino al successivo tentativo, a meno che la risposta non contenga un'intestazione Retry-after . Quando viene trovata l'intestazione, il motore attenderà il numero specificato di secondi prima del nuovo tentativo successivo. Il tempo di attesa minimo supportato è 0,5 secondi e il valore massimo è 120 secondi.

Nota

Il Retry-after valore deve essere nel delta-seconds formato . Il HTTP-date formato non è attualmente supportato.

Eccezioni di autenticazione

I codici di stato seguenti genereranno un'eccezione di credenziali, causando una richiesta di autenticazione che chiede all'utente di fornire le credenziali o di eseguire di nuovo l'accesso nel caso di un token OAuth scaduto.

Codice Status
401 Non autorizzata
403 Non consentito

Nota

Le estensioni sono in grado di usare l'opzione ManualStatusHandling con codici di stato 401 e 403, che non è un'operazione che può essere eseguita nelle Web.Contents chiamate effettuate all'esterno di un connettore dati personalizzato (ovvero direttamente da Power Query).

Reindirizzamento

I codici di stato seguenti genereranno un reindirizzamento automatico all'URI specificato nell'intestazione Location . Un'intestazione mancante Location genererà un errore.

Codice Status
300 Scelte multiple
301 Spostato in modo permanente
302 Trovato
303 Vedere Altro
307 Reindirizzamento temporaneo

Nota

Solo il codice di stato 307 manterrà un POST metodo di richiesta. Tutti gli altri codici di stato di reindirizzamento genereranno un passaggio a GET.