O que é cURL em PHP e como usar

O cURL em PHP é uma das ferramentas mais importantes para desenvolvedores que precisam consumir APIs, acessar páginas web, enviar dados via HTTP ou integrar sistemas. Com ele, é possível realizar requisições GET, POST, PUT, DELETE e muitas outras operações de forma simples e eficiente. Neste guia completo, você vai aprender o que é cURL em PHP e como usar na prática, exemplos de código e boas práticas para trabalhar com requisições HTTP.

O que é cURL em PHP?

O cURL (Client URL) é uma biblioteca que permite a comunicação entre aplicações através de protocolos como HTTP, HTTPS, FTP e outros.

No PHP, a extensão cURL permite que seu sistema:

  • Consuma APIs REST
  • Envie requisições HTTP
  • Faça upload de arquivos
  • Automatize acessos a páginas
  • Integre sistemas externos

Em outras palavras, o cURL funciona como um cliente web dentro do PHP.

Veja também: A importância da página de erro 404 personalizada no PHP

Para que serve o cURL em PHP?

O cURL em PHP é muito utilizado em diversas situações, como:

  • Integração com APIs de pagamento
  • Consumo de APIs externas
  • Web scraping
  • Comunicação entre microserviços
  • Envio de dados para outros sistemas

Exemplos de APIs populares que utilizam requisições HTTP:

  • APIs de clima
  • APIs de pagamento
  • APIs de redes sociais

Como verificar se o cURL está habilitado no PHP

Antes de usar o cURL, é importante verificar se ele está ativado no seu servidor.

Crie um arquivo chamado:

phpinfo();

Abra no navegador e procure por:

cURL support => enabled

Se não estiver habilitado, será necessário ativar a extensão no arquivo php.ini.

Como fazer uma requisição GET com cURL em PHP

Uma requisição GET é utilizada para buscar informações em uma API ou página web.

Exemplo básico

<?php

$url = "https://api.exemplo.com/dados";

$ch = curl_init($url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);

curl_close($ch);

echo $response;

?>

Explicação do código

  • curl_init() → inicia a sessão cURL
  • CURLOPT_RETURNTRANSFER → retorna o resultado como string
  • curl_exec() → executa a requisição
  • curl_close() → encerra a conexão

Veja também: Como setar localidade (locale) em PHP

Como fazer requisição POST com cURL em PHP

Requisições POST são utilizadas para enviar dados para APIs ou formulários.

Exemplo prático

<?php

$url = "https://api.exemplo.com/enviar";

$dados = array(
    "nome" => "João",
    "email" => "joao@email.com"
);

$ch = curl_init($url);

curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $dados);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$resposta = curl_exec($ch);

curl_close($ch);

echo $resposta;

?>

Como enviar JSON usando cURL em PHP

Muitas APIs modernas utilizam JSON como formato de comunicação.

Exemplo enviando JSON

<?php

$url = "https://api.exemplo.com/usuarios";

$dados = array(
    "nome" => "Maria",
    "email" => "maria@email.com"
);

$json = json_encode($dados);

$ch = curl_init($url);

curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);

curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Content-Type: application/json',
    'Content-Length: ' . strlen($json)
));

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$resposta = curl_exec($ch);

curl_close($ch);

echo $resposta;

?>

Como consumir uma API com cURL em PHP

Vamos ver um exemplo prático de consumo de API em PHP usando cURL.

Exemplo

<?php

$url = "https://api.exemplo.com/usuarios";

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);

curl_close($ch);

$dados = json_decode($response, true);

print_r($dados);

?>

Neste exemplo:

  1. O PHP faz a requisição para a API
  2. Recebe os dados em JSON
  3. Converte para array com json_decode()

Veja também: Como redirecionar páginas em PHP

Como tratar erros no cURL

Uma boa prática ao trabalhar com cURL em PHP é tratar possíveis erros.

Exemplo

<?php

$ch = curl_init("https://api.exemplo.com");

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);

if(curl_errno($ch)){
    echo "Erro: " . curl_error($ch);
}

curl_close($ch);

?>
<?php

$ch = curl_init("https://api.exemplo.com");

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);

if(curl_errno($ch)){
    echo "Erro: " . curl_error($ch);
}

curl_close($ch);

?>

Isso ajuda a identificar problemas como:

  • URL inválida
  • Falha de conexão
  • Timeout da requisição

Principais opções do cURL no PHP

Algumas opções muito utilizadas:

OpçãoFunção
CURLOPT_URLDefine a URL da requisição
CURLOPT_RETURNTRANSFERRetorna o resultado como string
CURLOPT_POSTDefine requisição POST
CURLOPT_POSTFIELDSDefine dados enviados
CURLOPT_HTTPHEADERDefine cabeçalhos HTTP
CURLOPT_TIMEOUTTempo limite da requisição

Boas práticas ao usar cURL em PHP

Para melhorar a segurança e desempenho do seu código:

✔ Sempre defina timeout nas requisições
✔ Trate erros de conexão
✔ Use HTTPS sempre que possível
✔ Valide os dados recebidos das APIs
✔ Feche a conexão com curl_close()

Conclusão

O cURL em PHP é uma ferramenta poderosa para integrar sistemas, consumir APIs e automatizar requisições HTTP. Dominar seu uso permite que desenvolvedores criem aplicações muito mais conectadas e eficientes.

Com os exemplos apresentados neste guia, você já pode começar a utilizar cURL em PHP para realizar requisições GET, POST, enviar JSON e consumir APIs externas.

Se você trabalha com desenvolvimento web em PHP, aprender a usar cURL é praticamente obrigatório.

Gostou das nossas dicas sobre o que é cURL em PHP e como usar? Deixem nos comentários! Para mais dicas, acesse os nossos canais no YouTube:
https://www.youtube.com/@canalpcsemerro
https://www.youtube.com/@criandobits

Tags:

O COMPUTADOR ESTÁ LENTO, TRAVANDO, DANDO "TELA AZUL" E DOR DE CABEÇA?

Especialize-se em montagem, diagnósticos de defeitos e upgrades com aulas passo a passo sem enrolação.

Torne-se também um técnico diferenciado e ganhe dinheiro prestando suporte ou conquiste o emprego dos seus sonhos com este curso completo de Montagem e Manutenção de Desktops e Notebooks.

Clique na imagem abaixo e confira mais detalhes do curso:

Super Técnico 2.0

CLIQUE AQUI E SAIBA MAIS

Sobre o Autor

Benedito Silva Júnior
Benedito Silva Júnior

Bacharel em Sistemas de Informação e apaixonado por tecnologias e games do tempo da vovó!

0 Comentários

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *