Como obter dados de um site externo usando PHP

Quando desenvolvemos sites ou aplicações baseadas em tecnologias Web, provavelmente precisaremos estabelecer conexões com outros sites ou aplicações disponíveis na Web. O problema é que conectar-se a servidores remotos nem sempre é algo fácil, devido as várias regras de segurança que o servidor impõe. Recentemente, precisei por vários motivos, de obter o título de uma página que fosse passada para mim, usando PHP ou Javascript. A solução apareceu com o PHP, usando a biblioteca cURL.\r\n\r\n

PHP é a linguagem mais usada na construção de sites e bogs

PHP é a linguagem mais usada na construção de sites e bogs. Imagem por

\r\n\r\ncURL é uma biblioteca que permite a conexão e troca de informações com servidores remotos de uma forma simples. Com o cURL, podemos fazer downloads ou uploads de ficheiros em servidores remotos, fazer login em sites que estão noutros servidores e ainda ter acesso á área de membros destes sites, enfim, as possibilidades são infinitas.\r\n\r\nComo exemplo aqui, vou deixar a função que usei para estabelecer a conexão com o site que pretendia e ainda obter o título da página inicial.\r\n

function getTitle ( $url ) {\r\n\r\n$site_url = $url;\r\n $ch = curl_init();\r\n $timeout = 5;\r\n curl_setopt ($ch, CURLOPT_URL, $site_url);\r\n curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);\r\n\r\nob_start();\r\n curl_exec($ch);\r\n curl_close($ch);\r\n $file_contents = ob_get_contents();\r\n ob_end_clean();\r\n if (  preg_match( '/<title>([^<]++)/', $file_contents, $matches ) == FALSE )\r\n return FALSE;\r\n\r\nreturn $matches[1];\r\n }

\r\nAqui, a url do site é passada no parámetro da função, e então usando funções do cURL, a função faz o download da página em questão. Como apenas faz o download do código HTML da página, ignorando elementos externos, o tempo de execução é mínimo. Defini um tempo de execução 5, mas podia colocar zero para não limitar o tempo de execução. Depois, usando expressões regulares, a função apenas obtem o valor definido entre as tags <title> e </title> , ignorando o resto.\r\n\r\nEste é um exemplo básico do uso do cURL, que conseguiu resolver meus problemas. Para mais funções do cURL aconselho o uso do livro Webbots, Spiders, and Screen Scrapers: A Guide to Developing Internet Agents with PHP/CURL disponível na Amazon.\r\n

\r\n
\r\n\r\n

\r\n\r\n\r\n
\r\n
\r\n
\r\n

Receba nossas actualizações por email

\r\n
\r\n \r\n \r\n
\r\n

Ver Campanhas anteriores.

\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
(Visited 48 times, 1 visits today)
Share