+4

Usando a biblioteca Curl no PHP para trabalhar com recursos remotos

criado por Renato Garcia Bonicio em 25/05/2006 10:15am
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():
<?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;
?>

Comentários:

Mostrando 1 - 2 de 2 comentários
Victor Sá disse:
Gostei muito do mini tutorial!, inclusive estou fazendo uma aplicação com o curl, está sendo de grande utilidade!
03/03/2010 11:52pm (~6 anos atrás)

André Taiar disse:
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!
03/11/2009 9:59am (~7 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)