Hantera statuskoder med hjälp av Web.Contents

Funktionen Web.Contents har vissa inbyggda funktioner för att hantera vissa HTTP-statuskoder. Du kan åsidosätta standardbeteendet i tillägget med hjälp av fältet ManualStatusHandling i alternativposten.

Automatiskt återförsök

Web.Contents gör automatiskt nya försök för begäranden som misslyckas med någon av följande statuskoder:

Kod Läge
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

Funktionen försöker igen upp till tre gånger innan den 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.

Anmärkning

Värdet Retry-after måste vara i delta-seconds formatet . Formatet HTTP-date stöds inte för närvarande.

Autentiseringsundantag

Följande statuskoder orsakar ett undantag för autentiseringsuppgifter. Undantaget uppmanar användaren att ange autentiseringsuppgifter eller logga in igen om en OAuth-token har upphört att gälla.

Kod Läge
401 Unauthorized
403 Ej tillåtet

Anmärkning

Tillägg kan använda alternativet ManualStatusHandling med statuskoderna 401 och 403. Du kan inte använda det här alternativet i Web.Contents anrop som görs utanför en anpassad dataanslutning (d.s. direkt från Power Query).

Redirection

Följande statuskoder orsakar en automatisk omdirigering till den URI som anges i Location rubriken. En rubrik som saknas Location orsakar ett fel.

Kod Läge
300 Flera alternativ
301 Flyttad permanent
302 Hittad
303 Se Övrigt
307 Tillfällig omdirigering

Anmärkning

Endast statuskod 307 behåller en POST begärandemetod. Alla andra omdirigeringsstatuskoder växlar till GET.