cURL com PHP para APIs RESTful
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 stringCURLOPT_CONNECTTIMEOUT
- Segundos tentando conectar até o timeoutCURLOPT_TIMEOUT
- Segundos limite para execução do cURLCURLOPT_USERAGENT
- String contendo um user-agentCURLOPT_URL
- URL - enviar a requisiçãoCURLOPT_PORT
- Informe de portaCURLOPT_HTTPHEADER
- Cabeçalhos da requisiçãoCURLOPT_POST
- Envia a requisição como POSTCURLOPT_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.