共用方式為


狀態碼的處理 Web.Contents

這個 Web.Contents 函式內建了處理特定 HTTP 狀態碼的功能。 預設行為可以透過擴充功能中的選項記錄ManualStatusHandling欄位來覆寫。

自動重試

Web.Contents 會自動重試因以下狀態碼失敗的請求:

Code 地位
408 請求逾時
429 過多要求
503 服務無法使用
504 閘道逾時
509 頻寬限制已超過。

申請最多可重試三次才會失敗。 引擎使用指數退縮演算法來決定下一次重試等待多久,除非回應包含 Retry-after 標頭。 當標頭被找到後,引擎會在下一次重試前等待指定的秒數。 最短支援等待時間為 0.5 秒,最大等待時間為 120 秒。

備註

Retry-after的值必須符合delta-seconds格式。 目前不支援此 HTTP-date 格式。

認證例外

以下狀態碼會產生憑證異常,並會觸發驗證提示,要求使用者提供憑證(或在 OAuth 憑證過期時重新登入)。

Code 地位
401 未經授權
403 禁止

備註

擴充功能可以對狀態碼 401 和 403 使用 ManualStatusHandling 選項,這在 Web.Contents 自訂資料連接器外(也就是直接從 Power Query)進行的呼叫中是無法做到的。

Redirection

以下狀態碼會自動重定向到標頭中 Location 指定的 URI。 缺少 Location 標頭會導致錯誤。

Code 地位
300 多選題
301 永久搬遷
302 已找到
303 參見其他
307 臨時重定向

備註

只有狀態碼 307 會保留 POST 請求方法。 所有其他重定向狀態碼都會切換到 GET