Aracılığıyla paylaş


Web.Contents

Sözdizimi

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

Hakkında

'den url indirilen içeriği ikili olarak döndürür. ek özellikleri belirtmek için isteğe bağlı bir kayıt parametresi optionssağlanabilir. Kayıt aşağıdaki alanları içerebilir:

  • Query: Kaçış konusunda endişelenmenize gerek kalmadan URL'ye program aracılığıyla sorgu parametreleri ekleyin.
  • ApiKeyName: Hedef sitede API anahtarıyla ilgili bir fikir varsa, url'de kullanılması gereken anahtar parametresinin adını (değeri değil) belirtmek için bu parametre kullanılabilir. Gerçek anahtar değeri kimlik bilgileri içinde sağlanır.
  • Headers: Bu değerin kayıt olarak belirtilmesi, http isteğine ek üst bilgiler sağlar.
  • Timeout: Bu değerin süre olarak belirtilmesi, HTTP isteğinin zaman aşımını değiştirir. Varsayılan değer 100 saniyedir.
  • ExcludedFromCacheKey: Bu değerin liste olarak belirtilmesi, bu HTTP üst bilgi anahtarlarını verileri önbelleğe alma hesaplamasının bir parçası olmaktan çıkarır.
  • IsRetry: Bu mantıksal değerin true olarak belirtilmesi, veri getirilirken önbellekteki mevcut yanıtları yoksayar.
  • ManualStatusHandling: Bu değerin liste olarak belirtilmesi, yanıtı bu durum kodlarından birine sahip http istekleri için yerleşik işlemeyi engeller.
  • RelativePath: Bu değerin metin olarak belirtilmesi, istekte bulunmadan önce temel URL'ye ekler.
  • Content: Bu değerin belirtilmesi, seçeneğin değerini POST'un içeriği olarak kullanarak GET'den POST'a web isteğini değiştirir.

HTTP isteği GET (İçerik belirtilmediğinde) veya POST (İçerik olduğunda) olarak yapılır. POST istekleri yalnızca anonim olarak yapılabilir.

HTTP yanıtının üst bilgileri ikili sonuç üzerinde meta veri olarak kullanılabilir. Özel veri bağlayıcısı bağlamı dışında, yanıt üst bilgilerinin yalnızca bir alt kümesi kullanılabilir (güvenlik nedeniyle).

Örnek 1

ve Query seçeneklerini kullanarak RelativePath içeriğini "https://bing.com/search?q=Power+Query" alın. Bu seçenekler statik bir temel URL'yi dinamik olarak sorgulamak için kullanılabilir.

Kullanım

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

Çıktı

binary

Örnek 2

İkili JSON yükü geçirerek ve yanıtı JSON olarak ayrıştırarak BIR URL'ye karşı POST gerçekleştirin.

Kullanım

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

Çıktı

table

Örnek 3

Sorgu dizesinin bir parçası olarak kimlik doğrulama anahtarı kabul eden güvenli bir URL'ye Bağlan. Gizli anahtarı M'de sabit kodlamak yerine (güvenlik riski oluşturur), anahtar M'de adını (değerini değil) belirterek, Web API kimlik doğrulamasını seçerek ve Anahtar değerini Web API'sinin kimlik bilgilerinin bir parçası olarak girerek güvenli bir şekilde sağlanabilir. Bu şekilde kullanıldığında, aşağıdaki örnek için "https://contoso.com/api/customers/get?api_key=******"bir istek oluşturur.

Kullanım

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

Çıktı

binary

Daha Fazla Bilgi

Özel bağlayıcılarda Web.Contents ile durum kodu işleme