Utilizando cURL com PHP

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.

Veja o código:

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.

Veja a imagem abaixo. Observe que a há o suporte à biblioteca, e a mesma está habilitada.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:

  1. ch, um handle cURL retornado por curl_init().
  2. option, que possui várias opções do tipo CURLOPT, como por exemplo, CURLOPT_URL, que vamos utilizar em nosso primeiro exemplo.
  3. 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.

Suponhamos 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:

Array ( [cliente] => 1 [nome] => Claudeci Goularte )

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.

Fica disponível o exemplo utilizado para download.

Arquivo utilizado no tutorial: Download do arquivo

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

Dúvidas, reclamações, críticas e claro, elogios, são muito bem vindos. Utilize o espaço de comentários no final da página.

Autor(a):
Claudeci Goularte
Formado em Análise e Desenvolvimento de Sistemas pela Faculdade de Filosofia, Ciências e Letras Santa Marcelina, e pós-graduado em Arquitetura de Software, pelo Instituto de Gestão em Tecnologia da Informação, o IGTI. Sou desenvolvedor de sistemas desde 2006, com ampla experiência em PHP, MySQL, C#, SQLServer, CSS, HTML, JavaScrit, JQuery, C#, SqlServer, entre outras. Amante da profissão.

Uma ideia sobre “Utilizando cURL com PHP

  1. Cara muito bacana, PHP é linguagem surpreendente que vem crescendo cada vez mais, eu amo trabalhar com ela. Se você ou alguém deseja se tornar um profissional completo em PHP, Do Zero Ao Profissional, Clica no meu nome e assisti o Vídeo, é rapidinho, Abraço!

Deixe uma resposta

Seu endereço de e-mail não será publicado. Campos marcados são obrigatórios *