🔥 Apps, books, system as a service, podcast and more



cURL com PHP para APIs RESTful

image

A biblioteca cURL é ideal e completa para quem quer realizar requisições ou transferir dados através do backend de suas aplicações. Com o cURL alem de requisões simples como GET e POST é possivel realizar requisições utilizando outros protocolos com FTP, POP, IMAP e outros.

Antes de começarmos temos que chamar a função que fará com que nosso desenvolvimento funciona.

$curl = curl_init();

Configurando na pratica

Ao iniciarmos o recurso cURL podemos utilizar parâmetros que configurarão nossa requisição. Veja abaixo alguns parâmetros importantes:

  • CURLOPT_RETURNTRANSFER - Retorna uma string
  • CURLOPT_CONNECTTIMEOUT - Segundos tentando conectar até o timeout
  • CURLOPT_TIMEOUT - Segundos limite para execução do cURL
  • CURLOPT_USERAGENT - String contendo um user-agent
  • CURLOPT_URL - URL - enviar a requisição
  • CURLOPT_PORT - Informe de porta
  • CURLOPT_HTTPHEADER - Cabeçalhos da requisição
  • CURLOPT_POST - Envia a requisição como POST
  • CURLOPT_POSTFIELDS - Array de informações enviadas como POST

Para informarmos um parametro devemos utilizar a função curl_setopt() e caso necessário podemos informar mais de um parametro utilizando a função curl_setopt_array() como nos exemplos abaixo:

Exemplo 01:

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'http://dominio-exemplo.com.br');

Exemplo 02:

$curl = curl_init();
curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => 1,
    CURLOPT_URL => 'http://dominio-exemplo.com.br'
]);

ENVIO

Agora que ja entedemos como configurar o nosso envio, vamos utilizar a função curl_exec() que executara o nosso envio. Ao enviarmos podemos nos deparar com duas respostas false que se refere quando a algum erro na execução da requisição e true que ocorre quando a requisição foi realizada.

Além das funções e resultados apresentados acima é importante que ao terminar a requisação o cURL seja fechado para limpar os recursos que estão sendo utilizados no momento e para isso preparei exemplos abaixo que você poderá copiar e colar em sua aplicação caso precise.

EXEMPLO: GET

// Inicia 
$curl = curl_init();

// Configura
curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => 1,
    CURLOPT_URL => 'http://dominio-exemplo.com.br/?item=valor-do-item'
]);

// Envio e armazenamento da resposta
$response = curl_exec($curl);

// Fecha e limpa recursos
curl_close($curl);

EXEMPLO: POST

// Inicia
$curl = curl_init();

// Configura
curl_setopt_array($curl, [
    CURLOPT_RETURNTRANSFER => 1,
    CURLOPT_URL => 'http://dominio-exemplo.com.br',
    CURLOPT_POST => 1,
    CURLOPT_POSTFIELDS => [
        item1 => 'valor-do-item-1',
        item2 => 'valor-do-item-2'
    ]
]);
// Envio e armazenamento da resposta
$response = curl_exec($curl);

// Fecha e limpa recursos
curl_close($curl);

RETORNO DE ERROS

Com o tempo você ira se familiarizar mais com a biblioteca e e com isso começara a identificar que erros podem acontecer e devem ser tratados, para isso você pode usar as funcões curl_error() (retorna em formato string) e curl_errno() (retorna em formato código).

Com este conhecimento você será capaz de explorar e utilizar APIs RESTful em diversos projetos e aplicações móveis de maneira eficiente como as maiores atuais empresas do mundo utilizam.

Sign up to our newsletter

Receive our latest updates about programming languages, software, database, books, ebooks, classes, jobs and more.

Related articles

Top