Nesse artigo você encontrará as seguintes informações:
Introdução ao HTTP
Gerando JSON Web Tokens (JWT)
Sobre:
A ferramenta HTTP fornece vários módulos para comunicação baseados em Hypertext Transfer Protocol (HTTP). HTTP é a base da comunicação de dados para a World Wide Web. Os módulos permitem que você baixe páginas e arquivos da Web, chame webhooks e endpoints de API, etc.
Introdução ao HTTP
A escolha certa do módulo depende do mecanismo de autenticação/autorização que o recurso que você deseja acessar emprega:
Make a request (Faça uma solicitação): módulo universal destinado principalmente a recursos que não empregam nenhum tipo de autenticação/autorização
Make a Basic Auth request (Faça uma solicitação de Autenticação Básica): para recursos que utilizam Autenticação Básica HTTP (BA)
Make an OAuth 2.0 request (Faça uma solicitação OAuth 2.0): para recursos que utilizam o protocolo de autorização OAuth 2.0
Make a Client Certificate Auth request (Faça uma solicitação de autenticação de certificado de cliente): para recursos que empregam um protocolo de autorização que requer um certificado do lado do cliente
Get a file (Obter um arquivo): para baixar um arquivo do URL especificado
Resolve a target URL (Resolver um URL de destino) - para recuperar um URL de destino da cadeia de redirecionamentos HTTP
Recuperar cabeçalhos (Retrieve headers): para retornar cabeçalhos (nome e valor) do módulo de solicitação HTTP especificado em pacotes separados.
🚨 Atenção!
Os campos de diálogo do módulo, que são exibidos em negrito no cenário são obrigatórios!
Faça uma solicitação
Um módulo universal que permite configurar uma solicitação HTTP e enviá-la a um servidor. A resposta HTTP recebida é então contida no pacote de saída.
Avalie todos os estados como erros (exceto 2xx e 3xx) | Use esta opção para configurar o tratamento de erros. |
URL | Insira uma URL para a qual você deseja enviar uma solicitação, por exemplo, ponto de extremidade da API, site etc. |
Método | Selecione o método HTTP que deseja usar:
|
Cabeçalhos | Insira os cabeçalhos de solicitação desejados. Por exemplo, uma autorização.
🚨 Atenção! Por padrão, a solicitação não contém o "Accept" cabeçalho. Se uma resposta inesperada for retornada, tente adicionar o "Accept: */*" cabeçalho.
|
Cadeia de consulta | Insira os pares de valores-chave de consulta desejados. |
Tipo de corpo
Corpo HTTP são os bytes de dados transmitidos em uma mensagem de transação HTTP imediatamente após os cabeçalhos, se houver algum a ser usado.
Raw/Cru | O tipo de corpo "Raw" é geralmente adequado para a maioria das solicitações de corpo HTTP, mesmo em situações em que a documentação do desenvolvedor não especifica os dados a serem enviados.
Especifique uma forma de análise dos dados no campo Tipo de conteúdo.
Apesar do tipo de conteúdo selecionado, os dados são inseridos em qualquer formato estipulado ou exigido pela documentação do desenvolvedor.
|
Application/x-www-form-urlencoded | Este tipo de corpo é para POSTar dados usando "application/x-www-form-urlencoded".
Para "application/x-www-form-urlencoded", o corpo da mensagem HTTP enviada ao servidor é essencialmente uma string de consulta. As chaves e os valores são codificados em pares chave-valor separados por "&" e com um "=" entre a chave e o valor.
Não é adequado para uso com dados binários (use "multipart/form-data" em vez disso). Exemplo do formato de solicitação HTTP resultante: "field1=value1&field2=value2". |
Multipart/form-data | Multipart/form-data é uma solicitação HTTP multipart usada para enviar arquivos e dados. É comumente usado para fazer upload de arquivos para o servidor. Adicione campos a serem enviados na solicitação. Cada campo deve conter o par Chave - Valor.
Texto Insira a chave e o valor a serem enviados no corpo da solicitação.
Arquivo Insira a chave e especifique o arquivo de origem que deseja enviar no corpo da solicitação. Mapeie o arquivo que você deseja carregar do módulo anterior (por exemplo, HTTP > "Obter um arquivo ou Google Drive" > "Baixar um arquivo") ou insira o nome do arquivo e os dados do arquivo manualmente. |
Analisar resposta | Habilite esta opção para analisar respostas automaticamente e converter respostas JSON e XML para que você não precise usar módulos JSON > "Analisar JSON" ou XML > "Analisar XML".
Antes de poder usar o conteúdo JSON ou XML analisado, execute o módulo uma vez manualmente para que o módulo reconheça o conteúdo da resposta e permita que você o mapeie nos módulos subsequentes.
Para isso basta clicar em "Run this module only". |
Nome de usuário | Insira o nome de usuário se desejar enviar uma solicitação usando a autenticação básica. |
Senha | Digite a senha se quiser enviar uma solicitação usando a autenticação básica. |
Tempo esgotado | Especifique o tempo limite da solicitação em segundos (1-300). Padrão: 40 segundos. |
Compartilhar cookies com outros módulos HTTP | Ative esta opção para compartilhar cookies do servidor com todos os módulos HTTP em seu cenário. |
Certificado autoassinado | Insira seu certificado se quiser usar o TLS para ter seu certificado autoassinado. |
Rejeitar conexões que usam certificados não verificados (autoassinados) | Ative esta opção para rejeitar conexões que usam certificados TLS não verificados. |
Siga o redirecionamento | Segue os redirecionamentos de URL com respostas 3xx. |
Siga todos os redirecionamentos | Segue os redirecionamentos de URL com todos os códigos de resposta. |
Desativar a serialização de várias chaves da mesma string de consulta como matrizes | Por padrão, a plataforma lida com vários valores para a mesma chave de parâmetro de string de consulta de URL como matrizes por exemplo, "www.test.com?foo=bar&foo=baz" será convertido em "www.test.com?foo[0]=bar&foo[1]=baz"). Para desativar este recurso, ative esta opção. |
Solicitar conteúdo compactado | Ative esta opção para solicitar uma versão compactada do site. Adicione um "Accept-Encoding"cabeçalho para solicitar conteúdo compactado. |
Exemplo
Como configurar o módulo para enviar uma solicitação POST com carga JSON:
Para garantir que seu JSON seja válido, você pode usar um dos serviços online disponíveis (por exemplo, https://jsonlint.com/ ) ou empregar o JSON > "Criar módulo JSON" para criar o JSON dinamicamente e cuidar de todo o escape necessário.
Misturar partes JSON com expressões e itens diretamente no campo Request content não é recomendado, pois pode resultar em um JSON inválido.
Faça uma solicitação de autenticação básica
Um módulo que permite configurar uma solicitação HTTP com autenticação HTTP Basic e enviá-la a um servidor. A resposta HTTP recebida é então contida no pacote de saída.
Credenciais | Clique em "Add" para adicionar suas credenciais (nome de usuário e senha) para autenticação básica.
❗Observação Você pode adicionar mais credenciais para alternar facilmente entre cada conexão. |
Avalie todos os estados como erros (exceto 2xx e 3xx ) | Use esta opção para configurar o tratamento de erros. |
URL | Insira uma URL para a qual você deseja enviar uma solicitação, por exemplo, ponto de extremidade da API, site etc. |
Método | Selecione o método HTTP que deseja usar:
|
Cabeçalhos | Insira os cabeçalhos de solicitação desejados. Por exemplo, uma autorização. Por padrão, a solicitação não contém o "Accept" cabeçalho. Se uma resposta inesperada for retornada, tente adicionar o "Accept: */*" cabeçalho.
|
Cadeia de consulta | Insira os pares de valores-chave de consulta desejados. |
Tipo de corpo
Corpo HTTP são os bytes de dados transmitidos em uma mensagem de transação HTTP imediatamente após os cabeçalhos, se houver algum a ser usado.
Cru | O tipo de corpo "Raw" é geralmente adequado para a maioria das solicitações de corpo HTTP, mesmo em situações em que a documentação do desenvolvedor não especifica os dados a serem enviados. |
Application/x-www-form-urlencoded | Este tipo de corpo é para POSTar dados usando "application/x-www-form-urlencoded". Para "application/x-www-form-urlencoded", o corpo da mensagem HTTP enviada ao servidor é essencialmente uma string de consulta.
As chaves e os valores são codificados em pares chave-valor separados por "&" e com um "=" entre a chave e o valor. Não é adequado para uso com dados binários (use "multipart/form-data" em vez disso). Exemplo do formato de solicitação HTTP resultante: "field1=value1&field2=value2". |
Multipart/form-data | Multipart/form-data é uma solicitação HTTP multipart usada para enviar arquivos e dados. É comumente usado para fazer upload de arquivos para o servidor.
Adicione campos a serem enviados na solicitação. Cada campo deve conter o par Chave - Valor.
Texto Insira a chave e o valor a serem enviados no corpo da solicitação.
Arquivo Insira a chave e especifique o arquivo de origem que deseja enviar no corpo da solicitação.
Mapeie o arquivo que você deseja carregar do módulo anterior (por exemplo, HTTP >; "Obter um arquivo" ou Google Drive > "Baixar um arquivo") ou insira o nome do arquivo e os dados do arquivo manualmente. |
Analisar resposta | Habilite esta opção para analisar respostas automaticamente e converter respostas JSON e XML para que você não precise usar módulos JSON > "Analisar JSON" ou XML > "Analisar XML".
Antes de poder usar o conteúdo JSON ou XML analisado, execute o módulo uma vez manualmente para que o módulo possa reconhecer o conteúdo da resposta e permitir que você o mapeie nos módulos subsequentes.
|
Tempo esgotado | Especifique o tempo limite da solicitação em segundos (1-300). Padrão: 40 segundos. |
Compartilhar cookies com outros módulos HTTP | Ative esta opção para compartilhar cookies do servidor com todos os módulos HTTP em seu cenário . |
Certificado autoassinado | Carregue seu certificado se quiser usar o TLS usando seu certificado autoassinado. |
Rejeitar conexões que usam certificados não verificados (autoassinados) | Habilite esta opção para rejeitar conexões que estão usando certificados TLS não verificados. |
Siga o redirecionamento | Segue os redirecionamentos de URL com respostas 3xx. |
Siga todos os redirecionamentos | Segue os redirecionamentos de URL com todos os códigos de resposta. |
Desativar a serialização de várias chaves da mesma string de consulta como matrizes | Desative a serialização de várias chaves de sequência de consulta iguais como matrizes (por exemplo, "www.test.com?foo=bar&foo=baz" serão convertidas em "www.test.com?foo[0]=bar&foo[1]=baz"). Para desativar este recurso, ative esta opção. |
Solicitar conteúdo compactado | Ative esta opção para solicitar uma versão compactada do site. Adiciona um "Aceept-Ecoding" cabeçalho para solicitar conteúdo compactado. |
Faça uma solicitação OAuth 2.0
Para fazer uma solicitação HTTP(S) para servidores que requerem uma autorização OAuth 2.0, primeiro você precisa criar uma conexão OAuth.
Criando uma conexão
1º passo: crie um cliente OAuth no serviço de destino com o qual deseja que o Toolzz Connect se comunique. É mais provável que essa opção seja encontrada na seção Desenvolvedor do serviço fornecido.
Ao criar o cliente, você será solicitado a especificar um assim chamado "Redirect URL" (às vezes chamado de "Callback URL").
2º passo: use a URL de redirecionamento.
3º passao: depois de criar o cliente no serviço de terceiros, o serviço fornecido exibirá duas chaves:
Client ID
Client Secret
❗ Observação
Alguns serviços chamam esses "App Key" e "App Secret".
4º passo: certifique-se de salvar essas chaves. Você será solicitado a fornecê-los ao criar a conexão no Toolzz Connect.
5º passo: encontre o "Authorize URI" e "Token URI" na documentação da API do serviço fornecido (se o serviço usar fluxo implícito, você precisará apenas de"Authorize URI"). Esses são endereços de URL por meio dos quais o Toolzz Connect se comunica com o serviço de destino. Os endereços servem para autorização OAuth.
Exemplos de endereços do Yahoo:
Autorizar URI: https://api.login.yahoo.com/oauth2/request_auth
URI do token: https://api.login.yahoo.com/oauth2/get_token
5º passo: se o serviço de destino usar escopos (direitos de acesso), verifique como o serviço separa os escopos individuais e certifique-se de definir o separador Escopo nas configurações avançadas de conexão adequadamente.
6º passo: depois de concluir as etapas acima, você pode prosseguir com a configuração do módulo:
Conexão
Clique no botão "Add" para configurar a conexão OAuth 2.0 para a solicitação.
Nome da conexão | Digite o nome da conexão. |
Tipo de fluxo | Selecione o fluxo para obtenção de tokens.
Código de autorização Digite Authorize URI e Token URI que você recuperou da documentação da API do serviço.
Implícito Digite o URI de autorização que você recuperou da documentação da API do serviço. |
Escopo | Adicione os escopos individuais que você precisará usar. Você encontrará essas informações na documentação do desenvolvedor (API) do serviço fornecido. |
Separador de escopo | Selecione como os escopos informados acima devem ser separados. Você encontrará essas informações na documentação do desenvolvedor (API) do serviço fornecido.
Se o separador não estiver definido corretamente, a plataforma não conseguirá criar a conexão e você receberá um erro de escopo inválido. |
ID do Cliente | Insira a ID do cliente. A ID do cliente é fornecida quando você cria um cliente OAuth no serviço que deseja conectar. |
Segredo do cliente | Digite o segredo do cliente. O segredo do cliente é fornecido quando você cria um cliente OAuth no serviço que deseja conectar. |
Autorizar parâmetros | Insira os parâmetros de solicitação de autorização adicionais como um par chave-valor. Parâmetros padrão:
|
Parâmetros de token de acesso
| Insira os parâmetros adicionais de solicitação de token de acesso como um par chave-valor. Parâmetros padrão:
|
Atualizar parâmetros de token | Insira os parâmetros adicionais de solicitação de token de atualização como um par chave-valor. Parâmetros padrão:
|
Cabeçalhos personalizados | Especifique os cabeçalhos personalizados a serem enviados com a solicitação, se necessário. |
Posicionamento de token | Selecione se deseja enviar o token no cabeçalho, string de consulta ou em ambos. |
Nome do token de cabeçalho | Insira o nome do token de autorização no cabeçalho. Padrão: "Bearer". |
Nome do parâmetro da string de consulta | Insira o nome do token de autorização na string de consulta. Padrão: "access_token". |
Avalie todos os estados como erros (exceto 2xx e 3xx ) | Use esta opção para configurar o tratamento de erros. |
URL | Insira uma URL para a qual você deseja enviar a solicitação, por exemplo, ponto de extremidade da API, site etc. |
Método | Selecione o método HTTP que deseja usar:
|
Cabeçalhos | Insira os cabeçalhos de solicitação desejados. Por exemplo, uma autorização. Por padrão, a solicitação não contém o "Accept" cabeçalho. Se uma resposta inesperada for retornada, tente adicionar o "Accept: */*" cabeçalho.
|
Cadeia de consulta | Insira os pares de valores-chave de consulta desejados. |
Tipo do corpo
Corpo HTTP são os bytes de dados transmitidos em uma mensagem de transação HTTP imediatamente após os cabeçalhos, se houver algum a ser usado.
Cru | O tipo de corpo "Raw" geralmente é adequado para a maioria das solicitações de corpo HTTP, mesmo em situações em que a documentação do desenvolvedor não especifica os dados a serem enviados. Especifique uma forma de análise dos dados no campo Tipo de conteúdo .
Apesar do tipo de conteúdo selecionado, os dados são inseridos em qualquer formato estipulado ou exigido pela documentação do desenvolvedor. |
Application/x-www-form-urlencoded | Este tipo de corpo é para POSTar dados usando "application/x-www-form-urlencoded". Para "application/x-www-form-urlencoded", o corpo da mensagem HTTP enviada ao servidor é essencialmente uma string de consulta. As chaves e os valores são codificados em pares chave-valor separados por "&" e com um "=" entre a chave e o valor. Não é adequado para uso com dados binários (use "multipart/form-data" em vez disso). Exemplo do formato de solicitação HTTP resultante: "field1=value1&field2=value2".
|
Multipart/form-data | Multipart/form-data é uma solicitação HTTP multipart usada para enviar arquivos e dados. É comumente usado para fazer upload de arquivos para o servidor.
Adicione campos a serem enviados na solicitação. Cada campo deve conter o par Chave - Valor.
Texto Insira a chave e o valor a serem enviados no corpo da solicitação.
Arquivo Insira a chave e especifique o arquivo de origem que deseja enviar no corpo da solicitação.
Mapeie o arquivo que você deseja carregar do módulo anterior (por exemplo, HTTP > "Obter um arquivo" ou Google Drive > "Baixar um arquivo") ou insira o nome do arquivo e os dados do arquivo manualmente. |
Analisar resposta | Habilite esta opção para analisar respostas automaticamente e converter respostas JSON e XML para que você não precise usar módulos JSON > "Analisar JSON" ou XML > "Analisar XML".
Antes de poder usar o conteúdo JSON ou XML analisado, execute o módulo uma vez manualmente para que o módulo possa reconhecer o conteúdo da resposta e permitir que você o mapeie nos módulos subsequentes. |
Tempo esgotado | Especifique o tempo limite da solicitação em segundos (1-300). Padrão: 40 segundos. |
Compartilhar cookies com outros módulos HTTP | Ative esta opção para compartilhar cookies do servidor com todos os módulos HTTP em seu cenário . |
Certificado autoassinado | Carregue seu certificado se quiser usar o TLS usando seu certificado autoassinado. |
Rejeitar conexões que usam certificados não verificados (autoassinados) | Ative esta opção para rejeitar conexões que usam certificados TLS não verificados. |
Siga o redirecionamento | Segue os redirecionamentos de URL com respostas 3xx. |
Siga todos os redirecionamentos | Segue os redirecionamentos de URL com todos os códigos de resposta. |
Desativar a serialização de várias chaves da mesma string de consulta como matrizes | Por padrão, a plataforma lida com vários valores para a mesma chave de parâmetro de string de consulta de URL como matrizes (por exemplo, "www.test.com?foo=bar&foo=baz" será convertido em "www.test.com?foo[0]=bar&foo[1]=baz"). Para desativar este recurso, ative esta opção. |
Solicitar conteúdo compactado | Ative esta opção para solicitar uma versão compactada do site. Adiciona um "Accepte-Encoding" cabeçalho para solicitar conteúdo compactado. |
Faça uma solicitação de autenticação de certificado de cliente
Faz uma solicitação HTTP(S) para servidores que requerem uma autorização de certificado de cliente.
Credenciais | Clique no botão "Add" para adicionar suas credenciais (certificado) para autorização de certificado de cliente.
Forneça o certificado que deseja usar para autorização. |
Avalie todos os estados como erros (exceto 2xx e 3xx ) | Use esta opção para configurar o tratamento de erros. |
URL | Insira uma URL para a qual você deseja enviar uma solicitação, por exemplo, ponto de extremidade da API, site etc. |
Método | Selecione o método HTTP que deseja usar:
|
Cabeçalhos | Insira os cabeçalhos de solicitação desejados. Por exemplo, uma autorização. Por padrão, a solicitação não contém o "Accept" cabeçalho. Se uma resposta inesperada for retornada, tente adicionar o "Accept: */*" cabeçalho. |
Cadeia de consulta | Insira os pares de valores-chave de consulta desejados. |
Tipo de corpo
Corpo HTTP são os bytes de dados transmitidos em uma mensagem de transação HTTP imediatamente após os cabeçalhos, se houver algum a ser usado.
Cru | O tipo de corpo "Raw" geralmente é adequado para a maioria das solicitações de corpo HTTP, mesmo em situações em que a documentação do desenvolvedor não especifica os dados a serem enviados. Especifique uma forma de análise dos dados no campo Tipo de conteúdo .
Apesar do tipo de conteúdo selecionado, os dados são inseridos em qualquer formato estipulado ou exigido pela documentação do desenvolvedor. |
Application/x-www-form-urlencoded | Este tipo de corpo é para POSTar dados usando "application/x-www-form-urlencoded".
Para "application/x-www-form-urlencoded", o corpo da mensagem HTTP enviada ao servidor é essencialmente uma string de consulta. As chaves e os valores são codificados em pares chave-valor separados por "&" e com um "=" entre a chave e o valor. Não é adequado para uso com dados binários (use "multipart/form-data" em vez disso). Exemplo do formato de solicitação HTTP resultante: "field1=value1&field2=value2". |
Multipart/form-data | Multipart/form-data é uma solicitação HTTP multipart usada para enviar arquivos e dados. É comumente usado para fazer upload de arquivos para o servidor.
Adicione campos a serem enviados na solicitação. Cada campo deve conter o par Chave - Valor.
Texto Insira a chave e o valor a serem enviados no corpo da solicitação.
Arquivo Insira a chave e especifique o arquivo de origem que deseja enviar no corpo da solicitação. Mapeie o arquivo que você deseja carregar do módulo anterior (por exemplo, HTTP > "Obter um arquivo" ou Google Drive > "Baixar um arquivo" ) ou insira o nome do arquivo e os dados do arquivo manualmente. |
Analisar resposta | Habilite esta opção para analisar respostas automaticamente e converter respostas JSON e XML para que você não precise usar módulos JSON > "Analisar JSON" ou XML > "Analisar XML".
Antes de poder usar o conteúdo JSON ou XML analisado, execute o módulo uma vez manualmente para que o módulo possa reconhecer o conteúdo da resposta e permitir que você o mapeie nos módulos subsequentes. |
Tempo esgotado | Especifique o tempo limite da solicitação em segundos (1-300). Padrão: 40 segundos. |
Compartilhar cookies com outros módulos HTTP | Ative esta opção para compartilhar cookies do servidor com todos os módulos HTTP em seu cenário . |
Certificado autoassinado | Carregue seu certificado se quiser usar o TLS usando seu certificado autoassinado. |
Rejeitar conexões que usam certificados não verificados (autoassinados) | Habilite esta opção para rejeitar conexões que estão usando certificados TLS não verificados. |
Siga o redirecionamento | Segue os redirecionamentos de URL com respostas 3xx. |
Siga todos os redirecionamentos | Segue os redirecionamentos de URL com todos os códigos de resposta. |
Desativar a serialização de várias chaves da mesma string de consulta como matrizes | Por padrão, a plataforma lida com vários valores para a mesma chave de parâmetro de string de consulta de URL como matrizes (por exemplo, "www.test.com?foo=bar&foo=baz" será convertido em "www.test.com?foo[0]=bar&foo[1]=baz"). Para desativar este recurso, ative esta opção. |
Solicitar conteúdo compactado | Ative esta opção para solicitar uma versão compactada do site. Adiciona um "Accept-Encoding" cabeçalho para solicitar conteúdo compactado. |
Obter um arquivo
Baixa um arquivo do URL especificado.
URL | Digite a URL do arquivo que deseja baixar. Depois que o arquivo é baixado, você pode continuar processando o arquivo (mapear os dados do arquivo) usando outros módulos no cenário . |
Resolver um URL de destino
Digite a URL do arquivo que deseja baixar. Após o download do arquivo, você pode processar o arquivo (mapear os dados do arquivo) usando outros módulos no
URL | Digite a URL que deseja resolver, por exemplo, "https://bit.ly/2FbUoRt" |
Método | Selecione o método que deseja usar. |
Recuperar cabeçalhos
Retorna cada cabeçalho (nome e valor) do módulo HTTP especificado no pacote separado.
Módulo de origem | Selecione o módulo do qual deseja recuperar os cabeçalhos. |
Gerando JSON Web Tokens (JWT)
É possível gerar um token JWT usando o algoritmo HS256 com a ajuda de funções integradas:
Cabeçalho:
Código para copiar e colar:
{{ replace (replace(replace(base64( "{" "alg" ":" "HS256" "," "typ" ":" "JWT" "}" ); "/=/g" ; emptystring); " /\+/g" ; "-" ); "/\//g" ; "_" )}}
Carga útil:
Código para copiar e colar:
{{ replace (replace(replace(base64( "{" "iss" ":" "key" "," "exp" ":" + (timestamp + 60 ) + "}" ); "/=/g" ; string vazia); "/\+/g" ; "-" ); "/\//g" ; "_" )}}
Símbolo:
Código para copiar e colar:
{{ 11 .header }}.{{ 12 .payload }}.{{ replace (replace(replace(sha256( 11 .header + "." + 12 .payload; "base64" ; 16 .secret); "/= /g" ; string vazia); "/\+/g" ; "-" ); "/\//g" ; "_" )}}
Pronto! Agora você já sabe tudo sobre a ferramenta "HTTP" do Toolzz Connect.