Menangani kode status dengan menggunakan Web.Contents

Fungsi Web.Contents memiliki beberapa fungsionalitas bawaan untuk menangani kode status HTTP tertentu. Anda dapat mengganti perilaku default dalam ekstensi Anda dengan menggunakan bidang ManualStatusHandling di record opsi.

Coba lagi otomatis

Web.Contents secara otomatis mencoba kembali permintaan yang gagal dengan salah satu kode status berikut:

Kode Kedudukan
408 Permintaan Kedaluwarsa
429 Terlalu Banyak Permintaan
503 Layanan Tidak Tersedia
504 Waktu Habis Gateway
509 Batas Pemakaian Bandwidth Terlampaui

Fungsi mencoba kembali meminta hingga tiga kali sebelum gagal. Mesin menggunakan algoritma penundaan eksponensial untuk menentukan berapa lama harus menunggu sebelum mencoba kembali, kecuali jika respons berisi Retry-after header. Ketika header ditemukan, mesin menunggu jumlah detik yang ditentukan sebelum coba lagi berikutnya. Waktu tunggu minimum yang didukung adalah 0,5 detik, dan nilai maksimumnya adalah 120 detik.

Nota

Nilai Retry-after harus dalam delta-seconds format . HTTP-date Format saat ini tidak didukung.

Pengecualian autentikasi

Kode status berikut menyebabkan pengecualian kredensial. Pengecualian meminta pengguna untuk memberikan kredensial atau masuk lagi jika token OAuth kedaluwarsa.

Kode Kedudukan
401 Tidak diizinkan
403 Dilarang

Nota

Ekstensi dapat menggunakan ManualStatusHandling opsi dengan kode status 401 dan 403. Anda tidak dapat menggunakan opsi ini dalam panggilan Web.Contents yang dibuat di luar konektor data kustom (yaitu, langsung dari Power Query).

Redirection

Kode status berikut menyebabkan pengalihan otomatis ke URI yang ditentukan di Location header. Header yang hilang Location menyebabkan kesalahan.

Kode Kedudukan
300 Pilihan Ganda
301 Dipindahkan secara permanen
302 Ditemukan
303 Lihat Lainnya
307 Pengalihan Sementara

Nota

Hanya kode status 307 yang POST mempertahankan metode permintaan. Semua kode status pengalihan lainnya beralih ke GET.