Proxy Curl

Uma das maiores limitações do Ajax é a impossibilidade de acessar URLs de outros domínios. Isso, em primeira observação, nos tira um monte de idéias, e acaba com muitas idéias de aplicações puxando XML (ou texto, HTML ou qualquer outra coisa) de fora.
Talvez muita gente já tenha feito um desse, e já vi outros aí na Internet, mas pra quem nunca usou esse vai ser o pontapé inicial.
Esse proxy consiste em puxar todo o conteúdo da URL pelo PHP, e passar pro Ajax. Não sou bom pra explicar esse tipo de coisa, então vamos ao código:

<?php
function open_url($url){
  $curl = curl_init();
  curl_setopt($curl, CURLOPT_URL, $url);
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  $content = curl_exec($curl);
  curl_close($curl);
  return $content;
}

$url = "http://" . $_GET['url'];
$proxyed = open_url($url);
echo $proxyed;
?>

A única limitação: precisa da extensão CURL, do PHP, pra funcionar. Quem tiver o proxy para outras linguagens (ou um complemento pra esse meu), me passe por e-mail (escrito aí na sidebar), e eu coloco os créditos.
E agora, um JS simples pra puxar qualquer coisa (precisa do jsFrameWorX err… finado jsFrameWorX…):

var opt = {
  "enableCache": true, // pra não ocupar muitos caracteres na url
  "parameters": "url=juliogreff.net", // url a ser puxada
  "onSuccess": showExternalContent // função pra ser executada no final
}
var ajax = Ajax.request("proxy.php", opt); // proxy.php é o nosso proxy
function showExternalContent(xmlhttp) {
  $("ext").innerHTML = xmlhttp;
}

Post rápido, mas bem útil no apuro. Valeu.

Posts Relacionados

Postado em março 26, 2007 às 18:52

Comentários

  1. kimbelly

    desbloquear orkut pf!!!


Deixe seu comentário