Como usar cURL PHP na transferência de dados
A maior vantagem da biblioteca cURL PHP é sua capacidade de atender a diversos requisitos de transferência de dados e, ao mesmo tempo, possibilitar a integração completa com APIs. Conheça a sintaxe e aprenda a fazer uso de cURL PHP com exemplos práticos.
O que é cURL PHP?
cURL (Client URL Request Library) é uma extensão para a linguagem de programação PHP. Ela disponibiliza uma interface que possibilita o envio de solicitações HTTP e comunicações por diversos protocolos de rede (como HTTP, HTTPS e FTP). Por meio do cURL, você pode adicionar ou alterar cabeçalhos (headers), parâmetros e dados, para cumprir requisitos de APIs.
Como instalar cURL PHP?
Se você deseja fazer uso do cURL PHP, provavelmente não precisará se preocupar com o processo de instalação, já que essa é uma extensão incorporada. Por outro lado, você deverá verificar se a extensão está ativa na sua instalação PHP. Para checar a ativação do cURL, crie um arquivo PHP e, dentro dele, execute o seguinte código:
phpinfo();
phpNa página que lhe será apresentada, busque pela informação cURL support ou semelhante. Ela mostrará se o cURL está ativo. Caso não esteja, você precisará editar o arquivo php.ini. Nele, localize a expressão ;extension=php_curl.dll
se estiver trabalhando com cURL no Windows ou ;extension=curl
se planeja usar o cURL no Linux. Para habilitar um cURL desativado, exclua o ponto e vírgula (;
) do início da linha — basta fazer isso para que a extensão cURL passe a funcionar. Em seguida, salve o arquivo e reinicie o servidor web para que as alterações possam ser aplicadas.
No tutorial PHP para iniciantes do nosso Digital Guide, você aprende os princípios básicos da programação em PHP, fundamentais para a utilização do cURL. Se você quer conhecer as vantagens e desvantagens da linguagem de programação PHP com relação a outras, acesse nossos artigos comparativos PHP vs. Python e PHP vs. JavaScript.
cURL PHP: Sintaxe e uso
A estrutura de comandos cURL PHP é formada por funções e opções que tem os objetivos de configurar uma sessão cURL, executar solicitações e trabalhar os resultados.
Passo 1: Iniciar uma sessão cURL
$curl = curl_init();
phpPasso 2: Definir as opções
curl_setopt($curl, CURLOPT_URL, 'https://exemplo.com/api'); // define o URL
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); // define o resultado da solicitação como valor de retorno
phpPasso 3: Executar a solicitação cURL
$response = curl_exec($curl);
phpPasso 4: Encerrar a sessão cURL
curl_close($curl);
phpA solução Deploy Now da IONOS acelera o seu trabalho de desenvolvimento, minimizando períodos de inatividade. Aplique estratégias flexíveis de implantação de projetos on-line com os recursos oferecidos pelo Deploy Now.
cURL PHP: Funções
Diversas funções PHP permitem criar solicitações HTTP ou fazer uploads de arquivos. Ainda, também é possível recuperar informações de um banco de dados MySQL com PHP, e enviá-las, por cURL, em formato JSON.
Estas são algumas das funções mais importantes do cURL PHP:
- curl_init: Inicia uma nova sessão cURL e retorna um identificador cURL.
- curl_setopt: Configura opções para a sessão cURL. Aqui, você deve definir parâmetros como URLs, cabeçalhos ou métodos de autenticação. Com o cURL PHP, também é possível especificar dados POST a serem enviados ao servidor.
- curl_exec: Executa a sessão cURL e retorna a resposta como string.
- curl_close: Encerra a sessão cURL e libera os recursos.
- curl_setopt_array: Define uma série de opções do cURL em um único comando.
- curl_getinfo: Retorna informações sobre a sessão cURL mais recente, como o URL ou o código de status HTTP.
- curl_error: Retorna a mensagem de erro da última solicitação cURL.
- curl_errno: Retorna o código de erro da última solicitação cURL.
- curl_multi_init: Inicia um cURL multi-handle, que permite executar várias solicitações cURL simultaneamente.
- curl_multi_add_handle: Adiciona uma sessão cURL a um cURL multi-handle.
- curl_multi_exec: Executa múltiplas solicitações cURL.
- curl_multi_getcontent: Retorna o conteúdo específico da resposta de uma sessão cURL no cURL multi-handle.
- Gerenciamento DNS
- Admin SSL fácil
- Documentação API
cURL PHP: Exemplo de uso
Ao criar suas próprias classes PHP, você torna o seu código mais modular, além de definir métodos reutilizáveis e simplificar a implementação do cURL nas aplicações.
O exemplo abaixo ilustra o uso de uma classe PHP em combinação com uma solicitação GET cURL PHP:
class MyCurlClient {
private $curl;
public function __construct() {
$this->curl = curl_init();
// Aqui você pode fazer outras configurações
}
public function sendRequest($url) {
curl_setopt($this->curl, CURLOPT_URL, $url);
curl_setopt($this->curl, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($this->curl);
return $response;
}
public function close() {
curl_close($this->curl);
}
}
// Utilização da própria classe
$myCurl = new MyCurlClient();
$response = $myCurl->sendRequest('https://exemplo.com/api');
echo $response;
$data = json_decode($response, true);
// Exibição de dados com operadores PHP
echo "Post ID: " . $data['id'] . "<br>";
echo "Title: " . $data['title'] . "<br>";
echo "Body: " . $data['body'] . "<br>";
$myCurl->close();
phpNeste cURL PHP de exemplo, criamos a classe MyCurlClient
para processar uma sessão cURL PHP no construtor. O método sendRequest()
recebe um URL, configura as opções do cURL e executa a solicitação HTTP GET
. As strings exibidas são sequenciadas com operadores PHP. Por fim, a função close()
encerra a sessão cURL.
Você pode armazenar qualquer quantidade de dados estáticos por preços acessíveis.