İngilizce dilinde oku

Aracılığıyla paylaş


Web.Contents

Sözdizimi

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

Hakkında

url'dan 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ı önbelleğe alma verilerini hesaplamanı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, isteği yapmadan ö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

RelativePath ve Query seçeneklerini kullanarak "https://bing.com/search?q=Power+Query" içeriğini 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]
        ]
    )

çıkış

binary

Örnek 2

İkili bir JSON yükü geçirerek ve yanıtı JSON olarak ayrıştırarak bir URL'ye POST isteği yapın.

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

Çıkış

table

Örnek 3

Sorgu dizesinin bir parçası olarak kimlik doğrulama anahtarını kabul eden güvenli bir URL'ye bağlanın. 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 "https://contoso.com/api/customers/get?api_key=******"için bir istek oluşturur.

Kullanım

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

Çıkış

binary

Daha fazla bilgi

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