Clase de php Http Bot con CURL
Esta clase de php sirve para enviar solicitudes a un servidor a través de un protocolo HTTP usando la tecnologia CURL, ya sea para obtener el codigo HTML de la página usando el metodo GET, o postear algo a través del método POST.
Recordad que podeis obtener la cookie usando programas de SNIFER tales como el plugin para firefox tamper data, gracias a esta libreria se puede configurar el alta automatica de nuevas entradas de post en clasificados, lista de enlaces, etc…
La forma en la que se usa esta clase es la siguiente:
<? require("curlbot.php"); $bot = new curlbot(); $bot->galleta ="b.txt"; $mensaje = "_method=POST&data%5BUser%5D%5Bname%5D=usuario&data%5BUser%5D%5Bpassword%5D=contrasena"; echo $bot->post("http://www.mister-wong.es/users/login/",$mensaje); echo $bot->get("http://www.mister-wong.es/"); echo "fin"; ?>
<? class curlbot { public $encabezado = array(); public $galleta; //Cambiar a false en caso de que no se quiera redireccionar private $redireccionar; //Definimos como deben establecerse los atributos function __set($name,$value) { if($name == "galleta") if(is_file($value)) $this->$name = $value; else { fclose(fopen($value,'w')); $this->galleta = $value; } if($name == "encabezado") $this->encabezado[] = $value; } public function __construct() { $this->redireccionar = true; } //Envia una solicitud get y devuelve la pagina obtenida ///Param{$url}: url de la pagina que queramos obtener public function get($url) { $c = curl_init($url); if (count($this->encabezado) > 0) curl_setopt($c, CURLOPT_HTTPHEADER, $this->encabezado); if ($this->galleta != null) { curl_setopt($c, CURLOPT_COOKIEJAR, $this->galleta); curl_setopt($c, CURLOPT_COOKIEFILE, $this->galleta); } curl_setopt($c, CURLOPT_RETURNTRANSFER, true); curl_setopt($c, CURLOPT_FOLLOWLOCATION, $this->redireccionar); //Enviamos la petición $respuesta = curl_exec($c); curl_close($c); return $respuesta; } //Envia una solicitud post y devuelve la pagina obtenida //Param{$url}: dirección de la pagina que solicitamos el post //Param{$campos}: mensaje del post que queramos enviar, ejemplo: //"user=usuario&pass=contraseña" public function post($url,$campos) { $c = curl_init($url); if (count($this->encabezado) > 0) curl_setopt($c, CURLOPT_HTTPHEADER, $this->encabezado); if ($this->galleta != null) { curl_setopt($c, CURLOPT_COOKIEJAR, $this->galleta); curl_setopt($c, CURLOPT_COOKIEFILE, $this->galleta); } curl_setopt($c, CURLOPT_POST, true); curl_setopt($c, CURLOPT_POSTFIELDS, $campos); curl_setopt($c, CURLOPT_RETURNTRANSFER, true); curl_setopt($c, CURLOPT_FOLLOWLOCATION, $this->redireccionar); //Enviamos la petición $respuesta = curl_exec($c); curl_close($c); return $respuesta; } }; ?> <?php>
Artículos relacionados:
- Estructura de la clase php de un plugin de wordpress Los buenos plugins de wordpress están desarrollados a través de...
- Clase de conexión a Bases datos php Con esta clase de php, te facilitará la tarea de...
- Subir un archivo usando ftp con php Bueno, rebuscando entre mis códigos olvidados he encontrado este pequeño...
- API Facebook Graph con PHP, funciones basicas Bueno, tras un mesecillo sin publicar nada quiero consolidar el...