Realização de solicitações HTTP com cURL
Use cURL para realizar solicitações GET e POST a APIs externas.
Realização de solicitações HTTP com cURL é uma aula grátis de PHP Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de PHP Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de PHP Academy inclui 4 aulas no total.
O que é cURL?
cURL é uma biblioteca para transferir dados usando URLs. O PHP disponibiliza essa biblioteca por meio das funções curl_*, tornando-a a forma padrão de chamar interfaces de programação de aplicações externas.
Solicitação GET básica
Inicialize um identificador cURL, defina as opções, execute-o e feche-o.
<?php
$ch = curl_init("https://api.example.com/users");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;CURLOPT_RETURNTRANSFER
Sem essa opção, curl_exec() exibe a resposta diretamente. Defina-a como true para capturar a resposta em uma variável.
Solicitação POST
Defina CURLOPT_POST e CURLOPT_POSTFIELDS para uma solicitação POST.
<?php
$ch = curl_init("https://api.example.com/users");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => json_encode(["name" => "Alice"]),
CURLOPT_HTTPHEADER => ["Content-Type: application/json"],
]);
$response = curl_exec($ch);
curl_close($ch);Definição de cabeçalhos
Transmita uma matriz de cadeias de cabeçalho para CURLOPT_HTTPHEADER.
<?php
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer ".$token,
"Accept: application/json",
]);Como obter o código de status HTTP
Obtenha o código de status da resposta depois de curl_exec() usando curl_getinfo().
<?php
$statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
echo $statusCode; // 200, 404, 500, etc.Tratamento de erros
Verifique curl_errno() e curl_error() para detectar e informar erros de conexão.
<?php
if (curl_errno($ch)) {
echo "cURL error: ".curl_error($ch);
}
curl_close($ch);Opções de tempo limite
Defina tempos limite para a conexão e a execução a fim de impedir que as solicitações fiquem travadas.
<?php
curl_setopt_array($ch, [
CURLOPT_CONNECTTIMEOUT => 5, // seconds to connect
CURLOPT_TIMEOUT => 15, // max total seconds
]);Seguindo redirecionamentos
Ative o acompanhamento automático de redirecionamentos com CURLOPT_FOLLOWLOCATION.
<?php
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_MAXREDIRS, 5);Verificação de SSL
Por padrão, o cURL verifica os certificados SSL. Nunca desative essa verificação em produção; faça isso apenas no desenvolvimento local com certificados autoassinados.
<?php
// Development only — NEVER in production!
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);curl_setopt_array()
Utilize curl_setopt_array() para definir várias opções em uma única chamada; isso é mais organizado do que repetir chamadas de curl_setopt().
Resumo
O cURL é o cliente HTTP padrão do PHP. Sempre defina CURLOPT_RETURNTRANSFER, verifique os erros com curl_errno e sempre feche os identificadores com curl_close.
Verificação rápida
Qual opção captura a resposta do cURL em uma variável?
Perguntas Frequentes
A aula “Realização de solicitações HTTP com cURL” é grátis?
Sim — o texto completo de “Realização de solicitações HTTP com cURL” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de PHP Academy, atualize para CoddyKit PRO. O curso de PHP Academy inclui 4 aulas no total.
O que vou aprender em “Realização de solicitações HTTP com cURL”?
Use cURL para realizar solicitações GET e POST a APIs externas. Você pratica PHP Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar PHP Academy?
Nenhuma experiência prévia é necessária. PHP Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.
Quanto tempo leva a aula “Realização de solicitações HTTP com cURL”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de PHP Academy?
Sim. Cada aula de PHP Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Codificação e decodificação JSON
- Realização de solicitações HTTP com cURL
- Tratamento de respostas e erros de APIs
- Criação de um cliente de API simples