Como realizar consultas a un servidor web a traves cURL desde PHP

Como realizar consultas a un servidor web a traves cURL desde PHP

Buenos (Días/Tardes/Noches), según el momento en que estén leyendo este postLogo de PHP

El día de hoy vamos a realizar un pequeño programa en PHP que nos permita obtener la salida completa de una pagina web en cualquier servidor, el nombre de esta actividad es llamada scraping, y segun sea utilizada puede ser legal o ilegal en algunas partes del mundo.

Ahora pensaran pero si es ilegal por que estamos discutiendo el tema aquí, por que como todo en la vida, depende de la optica con que se vea y el uso que se le de a la herramienta.

Lo primero que necesitamos es tener la librería php_curl pero eso es un tema que cada programador debe revisar antes de comenzar a realizar este pequeño programa.

En fin definamos el alcance de nuestro ejemplo el día de hoy, vamos a crear un pequeño formulario con 2 campos uno para el URL y otro para los valores a ser enviados por POST, en el momento de enviarse se ve por el browser la salida de esa pagina en particular.

Lo primero creamos el codigo HTML necesario para esto

<!DOCTYPE html>

<head><title>eidast.com - Ejemplo de uso de cURL para consultar servidores web</title></head>

<body>

<form method="POST" action="">

URL: <input type="text" name="targetUrl" id="targetUrl"><br>

Opciones: <input type="text" name="varsUrl" id="varsUrl"><br>

<input type="submit" name="Enviar">

</form>

</body>

Basicamente creamos un pequeño formulario con 2 campos de entrada y que cuando se envia se llama a si mismo, procederemos a preguntar si existen las variables de esos 2 campos comencemos con la magia del cURL

<?php

if(isset($_POST["targetUrl"])) { // Si esta variable existe, lets begin.
$userAgent = "Firefox (WindowsXP) – Mozilla/5.0 (Windows; U; Windows NT 5.1;

en-GB; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6";
$targetUrl = $_POST["targetUrl"]; // El URL que viene del formulario

$ch = curl_init($targetUrl); // Inicializamos

curl_setopt($ch, CURLOPT_USERAGENT, $userAgent); // Decimos que somos un Firefox de Windows

curl_setopt($ch, CURLOPT_URL, $targetUrl); // Definimos cual es el URL

curl_setopt($ch, CURLOPT_HEADER, 0); // Si queremos o no que sea mostrada la cabecera

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

if(isset($_POST["varsUrl"])) { // Si existen datos en el segundo campo

$varsUrl = $_POST["varsUrl"];

curl_setopt($ch, CURLOPT_POST, 1);

curl_setOPT($ch, CURLOPT_POSTFIELDS, $varsUrl);

}

$htmlUrl = curl_exec($ch);

}

?>

Realizamos la consulta contra el servidor, por ultimo simplemente imprimiremos el contenido en caso de existir.

<?php

if(isset($htmlUrl)) {

echo "Contenido del sitio: <br>";

echo "******************** <br>";

echo "<br>";

echo $htmlUrl;

}

?>

Esperando que les sea de utilidad esta información hasta una nueva entrega de mi blog.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *