Bagikan melalui


Web.Contents

Sintaks

 
Web.Contents(url as text, optional options as nullable record) as binary

Tentang

Mengembalikan konten yang diunduh dari url sebagai biner. Parameter rekaman opsional, options, dapat disediakan untuk menentukan properti tambahan. Catatan bisa berisi bidang berikut ini:

  • Query: Tambahkan parameter kueri secara terprogram ke URL tanpa harus khawatir tentang melarikan diri.
  • ApiKeyName: Jika situs target memiliki gagasan kunci API, parameter ini dapat digunakan untuk menentukan nama (bukan nilai) parameter kunci yang harus digunakan dalam URL. Nilai kunci aktual disediakan dalam kredensial.
  • Headers: Menentukan nilai ini sebagai rekaman akan menyediakan header tambahan ke permintaan HTTP.
  • Timeout: Menentukan nilai ini sebagai durasi akan mengubah batas waktu untuk permintaan HTTP. Nilai defaultnya adalah 100 detik.
  • ExcludedFromCacheKey: Menentukan nilai ini sebagai daftar akan mengecualikan kunci header HTTP ini agar tidak menjadi bagian dari perhitungan untuk penembolokan data.
  • IsRetry: Menentukan nilai logis ini sebagai true akan mengabaikan respons yang ada dalam cache saat mengambil data.
  • ManualStatusHandling: Menentukan nilai ini sebagai daftar akan mencegah penanganan bawaan untuk permintaan HTTP yang responsnya memiliki salah satu kode status ini.
  • RelativePath: Menentukan nilai ini sebagai teks menambahkannya ke URL dasar sebelum membuat permintaan.
  • Content: Menentukan nilai ini mengubah permintaan web dari GET ke POST, menggunakan nilai opsi sebagai konten POST.

Permintaan HTTP dibuat sebagai GET (ketika tidak ada Konten yang ditentukan) atau POST (ketika ada Konten). Permintaan POST hanya dapat dibuat secara anonim.

Header respons HTTP tersedia sebagai metadata pada hasil biner. Di luar konteks konektor data kustom, hanya subkumpulan header respons yang tersedia (karena alasan keamanan).

Contoh 1

Ambil konten menggunakan "https://bing.com/search?q=Power+Query" RelativePath opsi dan Query . Opsi ini dapat digunakan untuk mengkueri URL dasar statis secara dinamis.

Penggunaan

let
    searchText = "Power Query"
in
    Web.Contents(
        "https://www.bing.com",
        [
            RelativePath = "search",
            Query = [q = searchText]
        ]
    )

Hasil

binary

Contoh 2

Lakukan POST terhadap URL, melewati payload JSON biner dan mengurai respons sebagai JSON.

Penggunaan

let
    url = ...,
    headers = [#"Content-Type" = "application/json"],
    postData = Json.FromValue([x = 235.7, y = 41.53]),
    response = Web.Contents(
        url,
        [
            Headers = headers,
            Content = postData
        ]
    ),
    jsonResponse = Json.Document(response)
in
    jsonResponse

Hasil

table

Contoh 3

Koneksi ke URL aman yang menerima kunci autentikasi sebagai bagian dari string kuerinya. Alih-alih mengodekan kunci rahasia secara permanen di M (yang akan menimbulkan risiko keamanan), kunci dapat disediakan dengan aman dengan menentukan namanya (bukan nilainya) di M, memilih autentikasi API Web, dan memasukkan nilai kunci sebagai bagian dari kredensial API Web. Ketika digunakan dengan cara ini, contoh berikut akan menghasilkan permintaan ke "https://contoso.com/api/customers/get?api_key=******".

Penggunaan

Web.Contents("https://contoso.com/api/customers/get", [ApiKeyName="api_key"])

Hasil

binary

Informasi selengkapnya

Penanganan kode status dengan Web.Contents di konektor kustom