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 cURLCURLOPT_RETURNTRANSFER→ retorna o resultado como stringcurl_exec()→ executa a requisiçãocurl_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:
- O PHP faz a requisição para a API
- Recebe os dados em JSON
- 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ção | Função |
|---|---|
| CURLOPT_URL | Define a URL da requisição |
| CURLOPT_RETURNTRANSFER | Retorna o resultado como string |
| CURLOPT_POST | Define requisição POST |
| CURLOPT_POSTFIELDS | Define dados enviados |
| CURLOPT_HTTPHEADER | Define cabeçalhos HTTP |
| CURLOPT_TIMEOUT | Tempo 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
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.
Sobre o Autor



0 Comentários