Partilhar via


Web.Conteúdos

Sintaxe

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

Sobre

Retorna o conteúdo baixado como url binário. Um parâmetro de registro opcional, , optionspode ser fornecido para especificar propriedades adicionais. O registo pode conter os seguintes campos:

  • Query: Adicione programaticamente parâmetros de consulta ao URL sem ter que se preocupar em escapar.
  • ApiKeyName: Se o site de destino tiver uma noção de uma chave de API, esse parâmetro pode ser usado para especificar o nome (não o valor) do parâmetro de chave que deve ser usado na URL. O valor real da chave é fornecido na credencial.
  • Headers: Especificar esse valor como um registro fornecerá cabeçalhos adicionais para uma solicitação HTTP.
  • Timeout: Especificar esse valor como uma duração alterará o tempo limite de uma solicitação HTTP. O valor padrão é 100 segundos.
  • ExcludedFromCacheKey: Especificar esse valor como uma lista excluirá essas chaves de cabeçalho HTTP de fazer parte do cálculo para armazenar dados em cache.
  • IsRetry: Especificar esse valor lógico como true ignorará qualquer resposta existente no cache ao buscar dados.
  • ManualStatusHandling: Especificar esse valor como uma lista impedirá qualquer manipulação interna para solicitações HTTP cuja resposta tenha um desses códigos de status.
  • RelativePath: Especificar esse valor como texto o acrescenta à URL base antes de fazer a solicitação.
  • Content: Especificar esse valor altera a solicitação da Web de um GET para um POST, usando o valor da opção como o conteúdo do POST.

A solicitação HTTP é feita como um GET (quando nenhum Conteúdo é especificado) ou um POST (quando há Conteúdo). Os pedidos POST só podem ser feitos anonimamente.

Os cabeçalhos da resposta HTTP estão disponíveis como metadados no resultado binário. Fora de um contexto de conector de dados personalizado, apenas um subconjunto de cabeçalhos de resposta está disponível (por motivos de segurança).

Exemplo 1

Recupere o conteúdo do uso das "https://bing.com/search?q=Power+Query"RelativePath opções e Query . Essas opções podem ser usadas para consultar dinamicamente uma URL base estática.

Utilização

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

Saída

binary

Exemplo 2

Execute um POST em uma URL, passando uma carga JSON binária e analisando a resposta como JSON.

Utilização

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

Saída

table

Exemplo 3

Conecte-se a uma URL segura que aceite uma chave de autenticação como parte de sua cadeia de caracteres de consulta. Em vez de codificar a chave secreta em M (o que representaria um risco de segurança), a chave pode ser fornecida com segurança especificando seu nome (não seu valor) em M, escolhendo autenticação de API da Web e inserindo o valor da chave como parte da credencial da API da Web. Quando usado dessa forma, o exemplo a seguir gerará uma solicitação para "https://contoso.com/api/customers/get?api_key=******".

Utilização

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

Saída

binary

Mais informações

Tratamento de código de status com Web.Contents em conectores personalizados