Penanganan Kode Status dengan Web.Contents
Fungsi ini Web.Contents
memiliki beberapa fungsionalitas bawaan untuk menangani kode status HTTP tertentu. Perilaku default dapat ditimpa di ekstensi Anda menggunakan ManualStatusHandling
bidang di rekaman opsi.
Coba lagi otomatis
Web.Contents
akan secara otomatis mencoba kembali permintaan yang gagal dengan salah satu kode status berikut:
Kode | Status |
---|---|
408 | Waktu permintaan habis |
429 | Terlalu Banyak Permintaan |
503 | Layanan Tidak Tersedia |
504 | Waktu Tunggu Gateway Habis |
509 | Batas Bandwidth Terlampaui |
Permintaan akan dicoba ulang hingga tiga kali sebelum gagal. Mesin menggunakan algoritma back-off eksponensial untuk menentukan berapa lama menunggu hingga coba lagi berikutnya, kecuali respons berisi Retry-after
header. Ketika header ditemukan, mesin akan menunggu jumlah detik yang ditentukan sebelum coba lagi berikutnya. Waktu tunggu minimum yang didukung adalah 0,5 detik, dan nilai maksimumnya adalah 120 detik.
Catatan
Nilai Retry-after
harus dalam delta-seconds
format . HTTP-date
Format saat ini tidak didukung.
Pengecualian autentikasi
Kode status berikut akan menghasilkan pengecualian kredensial, menyebabkan permintaan autentikasi yang meminta pengguna untuk memberikan kredensial (atau masuk lagi dalam kasus token OAuth yang kedaluwarsa).
Kode | Status |
---|---|
401 | Tidak diizinkan |
403 | Terlarang |
Catatan
Ekstensi dapat menggunakan ManualStatusHandling
opsi dengan kode status 401 dan 403, yang bukan sesuatu yang dapat dilakukan dalam panggilan yang dilakukan di Web.Contents
luar konektor data kustom (yaitu, langsung dari Power Query).
Pengalihan
Kode status berikut akan menghasilkan pengalihan otomatis ke URI yang ditentukan di Location
header. Header yang hilang Location
akan mengakibatkan kesalahan.
Kode | Status |
---|---|
300 | Pilihan Ganda |
301 | Dipindahkan secara permanen |
302 | Ditemukan |
303 | Lihat Lainnya |
307 | Pengalihan Sementara |
Catatan
Hanya kode status 307 yang POST
akan menyimpan metode permintaan. Semua kode status pengalihan lainnya akan mengakibatkan pengalihan ke GET
.