Web.Contents
Sintaxe
Web.Contents(url as text, optional options as nullable record) as binary
Sobre nós
Retorna o conteúdo baixado do url
como binário. Um parâmetro de registro opcional, options
, pode 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 fazerem 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 "https://bing.com/search?q=Power+Query"
usando as opções RelativePath
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
Gestão de códigos de estado com Web.Contents em conectores personalizados