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();
php

Na 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.

Dica

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();
php

Passo 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
php

Passo 3: Executar a solicitação cURL

$response = curl_exec($curl);
php

Passo 4: Encerrar a sessão cURL

curl_close($curl);
php
Dica

A 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.
API IONOS grátis
Atualização de domínio, DNS, SSL, configurações e mais com a API da IONOS.
  • 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();
php

Neste 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.

Object Storage da IONOS
É ideal para backups, assim como para arquivar dados corporativos.

Você pode armazenar qualquer quantidade de dados estáticos por preços acessíveis.

Este artigo foi útil?
Para melhorar a sua experiência, este site usa cookies. Ao acessar o nosso site, você concorda com nosso uso de cookies. Mais informações
Page top