Udostępnij przez


Obsługa kodów stanu za pomocą Web.Contents

Funkcja Web.Contents ma pewne wbudowane funkcje do obsługi niektórych kodów stanu HTTP. Domyślne zachowanie można zastąpić w rozszerzeniu przy użyciu ManualStatusHandling pola w rekordzie opcji.

Automatyczne ponawianie próby

Web.Contents automatycznie ponawia próby żądań, które kończą się niepowodzeniem, przy użyciu jednego z następujących kodów stanu:

Code Status
408 Limit czasu żądania
429 Zbyt wiele żądań
503 Usługa niedostępna
504 Limit czasu bramy
509 Przekroczono limit przepustowości

Żądania będą ponawiane do trzech razy, zanim zakończą się niepowodzeniem. Silnik używa algorytmu wycofywania wykładniczego do określania, jak długo czekać na następną ponowną próbę, chyba że odpowiedź zawiera nagłówek Retry-after. Po znalezieniu nagłówka aparat będzie czekać określoną liczbę sekund przed następnym ponowieniu próby. Minimalny obsługiwany czas oczekiwania wynosi 0,5 sekundy, a maksymalna wartość to 120 sekund.

Uwaga / Notatka

Wartość Retry-after musi być w delta-seconds formacie . Format HTTP-date nie jest obecnie obsługiwany.

Wyjątki uwierzytelniania

Następujące kody stanu spowodują wyjątek poświadczeń, wywołując monit o uwierzytelnienie i prosząc użytkownika o wprowadzenie poświadczeń (lub ponowne zalogowanie się w przypadku, gdy token OAuth wygasł).

Code Status
401 Brak autoryzacji
403 Zakazany

Uwaga / Notatka

Rozszerzenia mogą używać ManualStatusHandling opcji z kodami stanu 401 i 403, co nie jest czymś, co można wykonać w Web.Contents wywołaniach wykonanych poza niestandardowym łącznikiem danych (czyli bezpośrednio z dodatku Power Query).

Redirection

Następujące kody stanu spowodują automatyczne przekierowanie do URI określonego w nagłówku Location. Brak Location nagłówka spowoduje błąd.

Code Status
300 Wiele wyborów
301 Przeniesione trwale
302 Znaleziono
303 Zobacz inny adres
307 Przekierowanie tymczasowe

Uwaga / Notatka

Tylko kod stanu 307 zachowa metodę żądania POST. Wszystkie inne kody stanu przekierowania spowodują przełączenie na GET.