Obsługa kodu stanu za pomocą polecenia 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:
Kod | Stan |
---|---|
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 przed niepowodzeniem. Aparat używa algorytmu wycofywania wykładniczego, aby określić, jak długo czekać do następnego ponawiania próby, chyba że odpowiedź zawiera Retry-after
nagłówek. 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
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ń, powodując monit o uwierzytelnienie z prośbą użytkownika o podanie poświadczeń (lub ponowne zalogowanie się w przypadku wygasłego tokenu OAuth).
Kod | Stan |
---|---|
401 | Brak autoryzacji |
403 | Dostęp zabroniony |
Uwaga
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).
Przekierowania
Następujące kody stanu spowodują automatyczne przekierowanie do identyfikatora URI określonego w nagłówku Location
. Brak Location
nagłówka spowoduje błąd.
Kod | Stan |
---|---|
300 | Wiele wyborów |
301 | Przeniesione trwale |
302 | Znalezione |
303 | Zobacz inne |
307 | Przekierowanie tymczasowe |
Uwaga
Tylko kod stanu 307 będzie przechowywać metodę POST
żądania. Wszystkie inne kody stanu przekierowania spowodują przełączenie na GET
.