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
(~15 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)