Utilizando cURL com PHP

Compartilhar é se importar!

Neste tutorial, vamos falar um pouco sobre como utilizar a biblioteca cURL com PHP.

Ao final deste tutorial, será capaz de realizar a leitura de uma página utilizando a biblioteca cURL com PHP, assim como, enviar e receber dados através da biblioteca.

A biblioteca cURL nos permite uma conexão direta com uma página da web, seja ela interna ao seu domínio, ou mesmo, externa, podendo até enviar ou receber dados com cURL, de forma totalmente transparente ao usuário.

Como utilizar cURL no PHP?

Antes de utilizar a biblioteca cURL com PHP, é preciso saber se a mesma está presente em seu PHP, para isso, vamos utilizar a função phpinfo() do próprio PHP, para conseguirmos ter uma relação das bibliotecas e métodos disponíveis na versão corrente do PHP.

Crie uma página simples no seu projeto, com a seguinte linha de código, como mostrado abaixo, caso a biblioteca cURL esteja habilitada, ela constará nas informações que serão exibidas na página.

Cientes de que a biblioteca cURL está habilitada no seu PHP, vamos criar um recurso em nosso arquivo, do tipo cURL, de forma que possamos utilizá-lo como desejado. A partir deste ponto, estamos iniciando o recurso proposto, e poderemos realizar as chamadas aos métodos e funções disponíveis na biblioteca cURL.

Exibindo os dados de uma URL com cURL e PHP

A biblioteca cURL possui um método chamado curl_setopt().

Sintaxe

Este método, possui três parâmetros, sendo eles:

  • ch, um handle cURL retornado por curl_init().
  • option, que possui várias opções do tipo CURLOPT, como por exemplo, CURLOPT_URL, que vamos utilizar em nosso primeiro exemplo.
  • value, o valor a ser definido no parâmetro option, neste caso, nossa URL.

O parâmetro option possui diversas opções de valores (Fonte: http://php.net/manual/pt_BR/function.curl-setopt.php), das quais, cada um tem uma função referente ao valor informado no parâmetro value, por exemplo, em nosso primeiro, estamos informando a URL, então, usaremos o valor CURLOPT_URL, para informa que o valor passado em value, é a URL para busca. Este valor também pode ser definido ao inicializar a sessão com curl_init().

Apos definir as configurações necessárias para o trabalho da biblioteca cURL, damos o comando para execução dos valores propostos, assim como, fechamos o recurso para liberar o sistema.

Veja a seguir que estamos realizando quatro operações, estamos criando o recurso, definindo a URL de busca, executando o recurso criado e por fim, fechando-o para liberar o sistema.

Lembrando que, o exemplo acima, somente funcionará se a biblioteca cURL estiver habilitada em seu PHP.

Após executar o recurso, todo conteúdo da URL de busca, serão exibidos no browser.

Podemos alterar a forma como os dados são retornados da URL informada.

Para isso, deveremos acrescentar algumas outras configurações em nosso recurso para que o mesmo se comporte de outra forma, dando-nos mais algumas opções para trabalharmos.

A opção CURLOPT_RETURNTRANSFER, quando definido para True (por padrão é False), o conteúdo da página presente na definição da URL, nos é retornado como uma string, assim, a mesma pode ser enviada para uma variável por exemplo, para que a mesma possa ser trabalhada posteriormente.

Vamos a nosso segundo exemplo de uso da biblioteca cURL com PHP. Neste exemplo, vamos utilizar a opção citada acima, o CURLOPT_RETURNTRANSFER.

Veja o código abaixo.

Neste exemplo, com o uso da opção CURLOPT_RETURNTRANSFER, vamos definir uma variável que receberá o conteúdo da página.

Neste exemplo, o conteúdo da página somente será exibido após o comando echo na variável.

É comum, além de realizar este tipo de retorno a necessidade enviarmos dados para a página definida, de forma a obter um retorno, como por exemplo um jSON.

No exemplo a seguir, veremos como enviar dados com cURL com PHP.

Primeiramente, vamos criar um pequeno arquivo .php, para podermos fazer nosso teste de envio de dados. Neste arquivo, conterá apenas uma função chamada print_r() do PHP, a qual irá mostrar todos os POST enviados a ela, como um array.

Confira a seguir o exemplo:

Agora, em nosso exemplo de envio de dados via cURL com PHP, vamos utilizar esse arquivo como URL de busca (neste caso de envio também) dos dados, conforme mostrado no exemplo a seguir.

Observe, que temos duas novas configurações definidas, a CURLOPT_POST, para true, e CURLOPT_POSTFIELDS, onde informamos os dados que serão enviados para nosso arquivo de destino.

Suponha que o arquivo criado, tenha por nome recebe_cURL.php, assim, vejamos como fica nosso código.

O retorno do nosso código, será como algo como o mostrado a seguir:

Neste caso, como utilizamos a função print_r(), os dados POSTs enviados, foram exibidos como uma estrutura de arrays().

A biblioteca cURL, tem inúmeras funções que podemos utilizar, como por exemplo, enviar os dados já em um formato jSON, e convertê-los em sua resposta, para trabalharmos com um formato de string jSON.

Bom, aqui foi uma introdução à biblioteca, agora que começam os estudos, as pesquisas para aprimoramento dos seus conhecimentos.

Fico por aqui. Grande abraços aos nossos queridos leitores.



6 thoughts on “Utilizando cURL com PHP

  1. Heya i am for the primary time here. I came across this board and I to find It truly useful & it helped me out much.

    I am hoping to give something again and aid others such as you helped me.

Leave a Reply

Your email address will not be published. Required fields are marked *