Statuskodhantering med Web.Contents
Funktionen Web.Contents
har vissa inbyggda funktioner för att hantera vissa HTTP-statuskoder. Standardbeteendet kan åsidosättas i tillägget med hjälp av ManualStatusHandling
fältet i alternativposten.
Automatiskt återförsök
Web.Contents
kommer automatiskt att försöka begäranden som misslyckas med någon av följande statuskoder:
Kod | Status |
---|---|
408 | Tidsgräns för förfrågan |
429 | För många begäranden |
503 | Tjänsten är inte tillgänglig |
504 | Tidsgräns för gateway |
509 | Bandbreddsgränsen har överskridits |
Begäranden görs på nytt upp till tre gånger innan de misslyckas. Motorn använder en exponentiell back-off-algoritm för att avgöra hur lång tid det tar att vänta till nästa återförsök, såvida inte svaret innehåller ett Retry-after
huvud. När rubriken hittas väntar motorn det angivna antalet sekunder innan nästa försök igen. Den minsta väntetid som stöds är 0,5 sekunder och det maximala värdet är 120 sekunder.
Kommentar
Värdet Retry-after
måste vara i delta-seconds
formatet . Formatet HTTP-date
stöds för närvarande inte.
Autentiseringsfel
Följande statuskoder resulterar i ett undantag för autentiseringsuppgifter, vilket gör att en autentiseringsfråga uppmanar användaren att ange autentiseringsuppgifter (eller logga in igen om en OAuth-token har upphört att gälla).
Kod | Status |
---|---|
401 | Behörighet saknas |
403 | Ej tillåtet |
Kommentar
Tillägg kan använda ManualStatusHandling
alternativet med statuskoderna 401 och 403, vilket inte är något som kan göras i Web.Contents
anrop som görs utanför en anpassad dataanslutning (det vill: direkt från Power Query).
Omdirigering
Följande statuskoder resulterar i en automatisk omdirigering till den URI som anges i Location
rubriken. En rubrik som saknas Location
resulterar i ett fel.
Kod | Status |
---|---|
300 | Flera alternativ |
301 | Flyttades permanent |
302 | Hittade |
303 | Se Övrigt |
307 | Tillfällig omdirigering |
Kommentar
Endast statuskod 307 behåller en POST
begärandemetod. Alla andra omdirigeringsstatuskoder resulterar i en växling till GET
.