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.