Usando a biblioteca Curl no PHP para trabalhar com recursos remotos
Cedo ou tarde, você passará por um certo problema em seu script: como obter conteúdo de outros sites. Há muitos métodos para isto, e o mais simples provavelmente é usar a função fopen() (quando habilitada), porém sem muitas opções de uso. É onde entra a Biblioteca Curl. Esta biblioteca permite o acesso a outras páginas e também disponibiliza diversas opções de uso.
Neste artigo, iremos saber como ela funciona e explorar algumas de suas opções, mas primeiro vamos começar com alguns comandos básicos da Curl.
O primeiro passo é criar um novo recurso do tipo Curl, chamando a função curl_init():
Agora que criamos, é possível acessarmos uma URL. Temos que informar a URL desejada usando a função curl_setopt().
Depois, para acessarmos a página, chamaremos a função curl_exec que irá executar os comandos e automaticamente imprimir a página.
Finalmente, encerraremos esse recurso Curl para liberarmos o sistema. Isto pode ser feito com a função curl_close():
O único problema é que a saída da página é imediatamente impressa. Mas e se quisermos usar esta saída de uma outra forma? Não há problemas, pois existe uma opção chamada “CURLOPT_RETURNTRANSFER” que, quando definida como TRUE, é responsável por retornar a saída ao invés de imprimir. Veja o exemplo:
Neste artigo, iremos saber como ela funciona e explorar algumas de suas opções, mas primeiro vamos começar com alguns comandos básicos da Curl.
O primeiro passo é criar um novo recurso do tipo Curl, chamando a função curl_init():
<?php $ch = curl_init(); ?>
Agora que criamos, é possível acessarmos uma URL. Temos que informar a URL desejada usando a função curl_setopt().
<?php // informar URL e outras funções ao CURL curl_setopt($ch, CURLOPT_URL, "http://www.google.com/"); ?>
Depois, para acessarmos a página, chamaremos a função curl_exec que irá executar os comandos e automaticamente imprimir a página.
<?php // Acessar a URL e enviá-la ao browser curl_exec($ch); ?>
Finalmente, encerraremos esse recurso Curl para liberarmos o sistema. Isto pode ser feito com a função curl_close():
<?php // liberar o sistema curl_close($ch); ?>
O único problema é que a saída da página é imediatamente impressa. Mas e se quisermos usar esta saída de uma outra forma? Não há problemas, pois existe uma opção chamada “CURLOPT_RETURNTRANSFER” que, quando definida como TRUE, é responsável por retornar a saída ao invés de imprimir. Veja o exemplo:
<?php $ch = curl_init(); // informar URL e outras funções ao CURL curl_setopt($ch, CURLOPT_URL, "http://www.google.nl/"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Acessar a URL e retornar a saída $output = curl_exec($ch); // liberar curl_close($ch); // Substituir 'Google' por 'PHP Curl' $output = str_replace('Google', 'PHP Curl', $output); // Imprimir a saída echo $output; ?>
Gostei muito do mini tutorial!, inclusive estou fazendo uma aplicação com o curl, está sendo de grande utilidade!
03/03/2010 11:52pm
(~14 anos atrás)
Curl é demais.
O interessante é que ela eh disponível para muuitas linguagens (já usei com PHP e com C) e tem um potencial muito bom pra recuperar informações da internet, trabalhar com formulários!
É coisa de primeira!
Parabéns pelo artigo com exemplos relevantes!
O interessante é que ela eh disponível para muuitas linguagens (já usei com PHP e com C) e tem um potencial muito bom pra recuperar informações da internet, trabalhar com formulários!
É coisa de primeira!
Parabéns pelo artigo com exemplos relevantes!
03/11/2009 9:59am
(~15 anos atrás)