Cómo traer una pagina web desde otro dominio

Como traer una página web desde otro dominio. Muchas veces tenemos que cargar en nuestro sitio web contenido html localizado en otro dominio. Pero ultimamente no se puede hacer por ajax. Dicha petición ajax, en navegadores como chrome no está permitido traer htmls completos desde otro dominio, es más, sólo se permite peticiones ajax con formato jsonp. La solución la tenemos con las funciones curl de php.

La siguiente función se pasa como parametro la url, incluido el http y retorna un string desde las etiquetas <body> hasta </body>.

function get_data($url)
{
	 $ch = curl_init();
	 $timeout = 5;
	 curl_setopt($ch,CURLOPT_URL,$url);
	 curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
	 curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
	 $data = curl_exec($ch);
	 $hastaBody = explode('', $data);
	 $hastaBody = explode('',$hastaBody[1]);
	 curl_close($ch);
	 return $hastaBody[0];
}

Si quisieramos la página con las cabeceras y todo seria con:

function get_data($url)
{
	 $ch = curl_init();
	 $timeout = 5;
	 curl_setopt($ch,CURLOPT_URL,$url);
	 curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
	 curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
	 $data = curl_exec($ch);
	
	 curl_close($ch);
	 return data ;
}
Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s