A ferramenta de linha de comando curl é um assistente perfeito quando você está trabalhando com código HTTP. Teste solicitações, explore formatos de dados e muito mais!

O Hypertext Transfer Protocol (HTTP) é a espinha dorsal da comunicação pela Internet, permitindo a transferência de dados entre servidores e clientes. No entanto, interagir com endpoints HTTP pode ser desafiador, especialmente para iniciantes.

Felizmente, o curl, uma ferramenta de linha de comando, fornece uma maneira fácil e eficiente de enviar e receber solicitações HTTP. Aqui você aprenderá como usar o curl para fazer solicitações HTTP POST, GET, DELETE e PUT básicas.

Instalando o curl

Por padrão, o curl é instalado nos principais sistemas operacionais, incluindo macOS, Linux e Unix.

Você pode confirmar que tem o curl instalado executando o comando abaixo:

ondulação

O comando acima deve imprimir “try 'curl --help' ou 'curl --manual' for more information” em seu terminal.

Se o curl não estiver instalado em seu sistema operacional, você poderá baixá-lo e instalá-lo em a página de downloads do curl.

instagram viewer

Fazendo uma solicitação HTTP GET

Uma solicitação HTTP GET é um método para solicitar dados de um servidor web. Você pode usar essas solicitações para recuperar um recurso específico, como uma página da Web, imagem ou vídeo.

Você pode fazer uma requisição GET com curl no formato abaixo:

curl -X GET 

Substituir com o URL do recurso que você deseja buscar.

Por exemplo:

curl -X GET https://example.com/todos/1

Executar o comando acima faz uma solicitação HTTP GET para a URL https://example.com/todos/1. O -X OBTER A opção especifica que o método HTTP é GET. Quando o comando é executado, o curl envia uma solicitação GET ao servidor especificado na URL e aguarda a resposta do servidor.

Se o servidor responder com um código de status de sucesso, ondulação exibe o corpo da resposta no terminal, que, neste caso, seriam os dados JSON sobre um item de tarefa pendente com ID 1.

Como alternativa, você pode fazer uma solicitação GET sem especificar o -X sinalizador porque, por padrão, o curl faz uma solicitação GET quando você não especifica um método de solicitação com o -X bandeira.

Por exemplo:

ondulação https://example.com/todos/1

A execução do comando acima retornará a mesma resposta do comando anterior com o “-X OBTER" bandeira.

Fazendo uma solicitação HTTP POST

Uma solicitação HTTP POST é um método para salvar dados em um servidor da web. Ao contrário de uma solicitação GET, que envia dados como parte da URL, uma solicitação POST envia dados no corpo da mensagem da solicitação. Isso torna as solicitações POST mais seguras para a transmissão de informações confidenciais.

Você pode fazer uma solicitação POST com curl no formato abaixo:

curl -X POST -d 

Por exemplo:

curl -X POST -d 'nome=jack' -d '[email protected]' \
 https://example.com/users

O comando acima envia uma solicitação POST para https://example.com/users com os dados especificados pelo -d sinalizar como uma carga útil.

O -d sinalizador especifica os dados a serem enviados. Nesse caso, especificou dois parâmetros de dados: nome=jack e [email protected].

Quando você usa o -d flag mais de uma vez em um comando, você pode mesclar os campos usando o símbolo &.

Por exemplo:

curl -d "nome=jack&[email protected]" https://example.com/api/users

Alguns dados que você pode tentar enviar em uma solicitação POST podem ser difíceis de encaixar em uma única string em seu terminal. Em casos como esse, pode ser ideal ler e POSTAR os dados de um arquivo usando curl.

Para enviar dados de um arquivo em uma solicitação POST como uma carga útil com curl, use o @ assinar imediatamente após o -d sinalizador, seguido pelo caminho do arquivo para o arquivo que você deseja que o curl envie na solicitação.

Por exemplo:

curl -X POST -d @users.txt https://example.com/api/users

Especificando o tipo de conteúdo

Usando o -d sinalizador define automaticamente o cabeçalho Content-Type como application/x-www-form-urlencoded. No entanto, você pode especificar manualmente o tipo de conteúdo apropriado para sua solicitação usando o -H ou --cabeçalho sinalizador seguido pelo tipo de conteúdo desejado.

Por exemplo:

curl -H "Tipo de conteúdo: aplicativo/json" \
 -d '{"nome": "Jack", "email": "[email protected]"}' \
 https://example.com/api/users

No comando acima, o -H sinalizador especifica o cabeçalho Content-Type como Tipo de conteúdo: aplicativo/json.

você pode substituir aplicativo/json com qualquer outro tipo MIME válido ou tipo de conteúdo apropriado para os dados que você está enviando no corpo da solicitação. Por exemplo, ao fazer upload de dados binários, como uma imagem ou arquivo de áudio, você deve definir o tipo de conteúdo para multipart/form-data.

Isso permite que você especifique o formato esperado dos dados enviados, o que pode ser importante ao interagir com APIs ou serviços da Web que requerem tipos de conteúdo específicos para processamento adequado.

Fazendo uma solicitação HTTP PUT

Uma solicitação HTTP PUT é um método para atualizar um recurso existente em um servidor da web ou criar um se o recurso não existir. Este método difere do método POST no sentido de que é idempotente. Isso significa que chamar o método PUT uma ou várias vezes sucessivamente tem o mesmo efeito no servidor.

Você pode fazer uma solicitação PUT com curl no formato abaixo:

curl -X PUT -H "Tipo de conteúdo: aplicativo/json" \
 -d '{"nome": "Jack Bauer", "email": "[email protected]"}' \
 https://example.com/api/users/4

O comando acima envia uma solicitação PUT no formato JSON para o servidor web especificado na URL acima e atualiza o recurso especificado. Se o recurso especificado não existir, ele criará o recurso no servidor da web.

Fazendo uma solicitação HTTP DELETE

Uma solicitação HTTP DELETE é um método para excluir um recurso especificado de um servidor da web. Semelhante às solicitações PUT, as solicitações DELETE são idempotentes. Enviar a mesma solicitação DELETE várias vezes para o mesmo recurso produzirá o mesmo resultado no servidor.

Você pode fazer uma solicitação DELETE com curl executando o comando abaixo:

curl -X DELETE http://example.com/api/users/3

O comando acima envia uma solicitação DELETE para o servidor web especificado na URL acima e exclui o recurso especificado.

As solicitações de exclusão removem permanentemente o recurso especificado do servidor. Assim, um servidor web que suporte o DELETE geralmente requer uma forma de autenticação ou autorização antes de fazer este pedido.

Veja como fazer uma solicitação DELETE com um cabeçalho de autorização:

curl -X DELETE -H "Autorização: Portador my_access_token" \
 https://example.com/api/users/3

O comando acima fornece as informações de autenticação no cabeçalho da solicitação usando o método de autenticação Bearer com o -H bandeira. Autorização: Portador my_access_token é o valor do cabeçalho. my_access_token é um espaço reservado para o valor real do token de acesso.

Outras maneiras de fazer solicitações HTTP

Além do curl, existem várias maneiras de fazer solicitações HTTP, dependendo do contexto da solicitação. Os métodos mais comuns incluem o uso de um navegador da Web como o Chrome, uma ferramenta GUI como o Postman ou um cliente API.

Cada uma dessas opções vem com suas vantagens e compensações. Por fim, sua escolha de uma ferramenta dependerá dos requisitos de sua tarefa.