Como enviar solicitações POST com cURL

Como enviar solicitações POST com cURL

cURL é um utilitário de linha de comando versátil projetado para transferências de dados contínuas entre diferentes protocolos de rede, incluindo HTTP, HTTPS e FTP. Disponível em todos os principais sistemas operacionais, o cURL se tornou a ferramenta padrão para enviar solicitações HTTP da linha de comando. Seu utilitário multiplataforma oferece suporte a protocolos como HTTP, HTTPS, FTP e IMAP, facilitando o envio de solicitações para APIs e a coleta de dados em sites. Devido à sua ampla disponibilidade e suporte a protocolos, o cURL é comumente referenciado na documentação da API REST como uma maneira rápida de testar chamadas de API diretamente da linha de comando.

Este tutorial se aprofunda na execução de solicitações POST usando cURL, permitindo uma comunicação eficiente com servidores por meio de instruções simples de linha de comando.

O que é uma solicitação POST?

Uma solicitação POST é um método HTTP usado para enviar dados para um servidor e é um dos métodos HTTP mais comuns. Diferentemente das solicitações GET, onde os dados são incluídos na URL, as solicitações POST transmitem dados no corpo da solicitação. Isso permite uma transferência discreta de dados e evita as limitações de comprimento de URL impostas pelos navegadores em solicitações GET.

As solicitações POST são frequentemente usadas para envios de formulários, uploads de arquivos e envio de dados JSON para APIs. Como os dados são armazenados no corpo da solicitação, eles não são visíveis no histórico do navegador e, diferentemente das solicitações GET, as solicitações POST normalmente não são armazenadas em cache pelos navegadores.

Casos de uso prático para solicitações POST cURL

As solicitações cURL POST são amplamente utilizadas em vários cenários, incluindo:

  • Testando APIs REST – Os desenvolvedores usam o cURL para testar rapidamente os endpoints da API antes de implementá-los em aplicativos.
  • Automatizando envios de formulários – Ao usar o cURL, você pode automatizar interações com formulários da web, enviando dados sem entrada manual.
  • Upload de arquivos – Muitas APIs permitem uploads de arquivos usando solicitações POST, tornando o cURL uma ferramenta eficaz para automatizar esse processo.
  • Interagindo com sistemas de autenticação – Os desenvolvedores podem usar o cURL para autenticar usuários e acessar recursos protegidos com tokens de API ou credenciais.
  • Extração e integração de dados – A extração e integração de dados de diferentes fontes online é simplificada usando os recursos de solicitação POST do cURL.

Executando uma solicitação POST com cURL

Para começar a usar o cURL para solicitações POST, certifique-se de que ele esteja instalado no seu sistema. Se você ainda não o instalou, consulte nosso guia sobre como configurar o cURL. Abaixo está uma tabela de referência resumindo as opções essenciais do cURL:

Bandeira curta

Bandeira Longa

Argumento(s)

Descrição

-X

--solicitar

(use "POST" para solicitações POST)

Define o método HTTP para a solicitação

-b

--biscoito

Envia cookies na solicitação

-c

--pote de biscoitos

Salva os cookies recebidos em um arquivo

-d

--dados

Transmite dados em uma solicitação POST

-f

--falhar

Garante falha silenciosa em erros do servidor

-F

--forma

<nome=conteúdo>

Envia dados do formulário (application/x-www-form-urlencoded)

-H

--cabeçalho

cabeçalho/@arquivo

Inclui cabeçalhos HTTP personalizados

-eu

--incluir

Exibe cabeçalhos HTTP na resposta

-eu

--cabeça

Recupera apenas cabeçalhos

-k

--inseguro

Ignora a verificação SSL

-EU

--localização

Segue redirecionamentos (3XX)

-o

--saída

Salva a saída em um arquivo especificado

-O

--nome-remoto

Salva a saída com o nome do arquivo remoto

-s

--silencioso

Suprime mensagens de saída

-v

--detalhado

Habilita saída detalhada (depuração)

-c

--escreva

Detalhes da resposta de saída

Para visualizar a lista completa de opções disponíveis, use:

curl --ajuda

Erros comuns e como corrigi-los

Embora o cURL seja poderoso, os usuários frequentemente encontram erros ao enviar solicitações POST. Aqui estão alguns problemas e soluções comuns:

  • curl: (6) Não foi possível resolver o host – Isso significa que o nome do domínio está incorreto ou há um problema de resolução de DNS. Verifique novamente a URL.
  • curl: (7) Falha ao conectar ao host – Indica que o servidor não está acessível. Certifique-se de que o servidor esteja online e que você tenha uma conexão ativa com a internet.
  • curl: (35) Erro de conexão SSL – Se a solicitação falhar devido a problemas de SSL, tente usar -k para ignorar a verificação de SSL.
  • HTTP 400 Bad Request – Isso significa que o servidor rejeitou a solicitação, geralmente devido a um formato de dados incorreto. Verifique o tipo de conteúdo e a carga útil dos dados.
  • HTTP 401 Unauthorized – Ocorre quando a autenticação é necessária, mas está ausente ou incorreta. Garanta que as chaves ou credenciais da API sejam passadas corretamente com -u ou -H "Authorization: Bearer <token>".

Sintaxe básica de solicitação POST

curl -X POST -d "Olá" https://example.com/api

Neste comando:

  • -X POST especifica o tipo de solicitação.
  • -d "Olá" define os dados que estão sendo enviados.
  • https://example.com/api é o URL de destino.

Configurando cabeçalhos de tipo de conteúdo

curl -X POST -H "Tipo de conteúdo: texto/simples" -d "Olá" https://example.com/api

Adicionar -H "Content-Type: text/plain" informa ao servidor que o formato dos dados é texto simples.

Enviando dados JSON

curl -X POST -H "Tipo de conteúdo: application/json" -d '{"key":"value"}' https://example.com/api

Usar application/json como tipo de conteúdo garante que os dados sejam interpretados corretamente como JSON.

Enviando dados XML

curl -X POST -H "Tipo de conteúdo: application/xml" -d '<?xml version="1.0" encoding="UTF-8"?><root><nome>John Doe</nome><idade>30</idade></root>' https://example.com/api

Carregando arquivos com POST

curl -X POST -F "file=@/caminho/para/img.png" https://example.com/api/upload

Para uploads de vários arquivos:

curl -X POST -F "arquivo=@/caminho/para/img1.png" -F "arquivo=@/caminho/para/img2.png" https://example.com/api/upload

Autenticação com cURL

curl -u nome de usuário:senha https://example.com/login

Substitua o nome de usuário e a senha pelas credenciais reais.

Conclusão

O cURL simplifica as interações HTTP com suas opções de linha de comando poderosas e flexíveis. Ao dominar as solicitações POST, os desenvolvedores podem gerenciar com eficiência as comunicações de API, transmissões de dados e uploads de arquivos. Se você precisa testar endpoints de API, automatizar envios de formulários ou extrair dados de sites, o cURL fornece uma solução leve e eficaz. Continue experimentando o cURL para otimizar seu fluxo de trabalho!

Por favor, note que Plisio também oferece a você:

Crie faturas criptográficas em 2 cliques and Aceitar doações de criptografia

14 integrações

10 bibliotecas para as linguagens de programação mais populares

19 criptomoedas e 12 blockchains

Ready to Get Started?

Create an account and start accepting payments – no contracts or KYC required. Or, contact us to design a custom package for your business.

Make first step

Always know what you pay

Integrated per-transaction pricing with no hidden fees

Start your integration

Set up Plisio swiftly in just 10 minutes.