PDA

Ver la versión completa : Script para manejo automático



welvis30
25-03-2008, 09:58
Buenas, ¿Cabría la forma de hacer un script en jscript, asp, php, no sé, qué hiciera trabajar con una página de forma automática? Es decir, que realizara acciones que en teoría debieran hacerse a base de golpe de ratón y teclado, y podriais decirme como se llama esto, porque no se que buscar para encontrar info.

Gracias de antemano.

j8k6f4v9j
25-03-2008, 10:30
Los botones de las páginas web no son más que meras interfaces para peticiones, consultas o acciones de cualquier tipo. Con cualquier lenguaje de los que mencionas, puedes realizar esas mismas acciones.

Salu2

welvis30
25-03-2008, 13:46
Gracias j8k6f4v9j, ¿Esta manera de programar se llama de alguna forma en concreto? he hecho cursillos de los diferentes lenguajes citados con anterioridad y nunca vi una lección que tratara sobre esto. Y por ejemplo en un portal escrito en php, al interactuar en modo cliente desconozco la nomenclatura de esas acciones para poder manipularlas, ¿Podría crear el script igual pese a no conocer el código?

clarinetista
25-03-2008, 15:01
Realmente lo que tu debes es buscar una forma de interactuar esos lenguajes, tanto del lado del cliente como del lado del servidor.
Te pongo un link para que veas la potencia de este uso:

http://www.adelat.org/media/docum/nuke_publico/lenguajes_del_lado_servidor_o_cliente.html

De todas maneras si pones un ejemplo mas concreto podremos precisar mas que es lo que te convendría .
Un saludo

welvis30
25-03-2008, 15:36
A ver, yo lo que quiero es interactuar con un portal, foro etc desde un script. Por ejemplo el típico SPAM que invade algunos foros que escriben publicidad, o se registran en portales. En verdad lo quiero para que cada cierto tiempo automáticamente, el script se conecte en un portal como si fuera yo y realice una serie de tareas, siempre las mismas, un bot por llamarlo de alguna manera, no sé si me entendeis, lo haría en PHP mismo, pero necesito tener info, ver ejemplos para saber realmente que es lo que hace y como funciona, porque en PHP solo he aprendido a manejarme contra DDBB y contra mi propio server, nunca de manera remota.


Por cierto clarinetista, gracias por el enlace, siempre viene bien repasar las cosas y me ha gustado la manera sencilla que tiene de explicar las cosas, me lo guardo ;)

smaug_
25-03-2008, 18:32
Yo hice algo parecido, bueno simplemente una pagina en php que hacia peticiones a otra de manera automatica. Te escribo el codigo, es algo muy simple:


$http=new HttpRequest(); // Creamos un objeto HttpRequest
$l=0;
// Creamos un array con los campos para la peticion mediante POST
// Es un array asociativo, en el cual la clave es el nombre de la variable y el
// valor, su valor
$post=array("_charset"=>"UTF-8"
,"buscador1"=>""
,"pagename"=>"ComunidadMadrid/Estructura"
,"c"=>"Page"
,"cid"=>"1109265811710"
,"language"=>"es"
,"buscador1"=>""
,"buscador2"=>""
,"js"=>"false"
,"buscador3"=>"palabra"
,"fecha_ini"=>"01/01/2006"
,"fecha_fin"=>"31/12/2006"
,"buscar"=>""
);
$url = "http://www.madrid.org/cs/Satellite"; // Url para hacer la peticion
// Definimos cuales van a ser los campos del POST
if($http->setPostFields($post)) echo "<br>"."Insercion de post ok";
// Definimos la url de la peticion
if($http->setUrl($url)) echo "<br> Url ok";
//El metodo de peticion (post,get)
if($http->setMethod(HttpRequest::METH_POST)) echo "<br> Metodo ok<br>";
try {
// Hacemos la peticion, y recuperamos el cuerpo
$body=$http->send()->getBody();
} catch (HttpException $ex) {
echo $ex;
}


Como ves, es bastante simple el hacer las peticiones, aunque tienes que tener el modulo http para php. Aqui encontraras toda la informacion que te hace falta : http://es2.php.net/manual/es/ref.http.php
Tambien, como ves, necesitas saber que campos se tienen que enviar, eso con un poco de investigacion, se saca, puedes usar incluso un sniffer.
Espero que te sea de ayuda.
Por cierto, espero tener noticias de tu proyecto, ya que a mi me interesa el lanzar scripts de php de manera automatica, sin necesidad de lanzar un navegador... no se si me explico.
Un saludo y suerte!

j8k6f4v9j
25-03-2008, 20:25
Claro, eso es haciendo uso de php, aunque _cualquier_ lenguaje con capacidad de comunicación te sirve.

Es todo un arte, y sí, tiene un nombre, muy sencillo por cierto: "one way web hacking"

No es broma, es el término "oficial".

Échale un ojo a esto:
http://net-square.com/papers/one_way/one_way.html

Como ves, hay ejemplos de php, asp, javascript, perl, ... Es cuestión de entender bien la estructura de aquello a lo que harás las peticiones.

Salu2



http://img359.imageshack.us/img359/6631/celliigy4.pngKeep on Rollin' :mad:

welvis30
25-03-2008, 23:27
Gracias a los dos, me pongo manos a la obra ahora mismo :)

welvis30
29-03-2008, 17:00
Buenas, parece que ya di con la solución, posteo por SMAUG que puede que le interese. Al final he usado una librería llamada cURL para PHP que usa peticiones HTTP pudiendo interactuar con otra.

La librería es muy potente y se pueden lograr grandes cosas con ella, lo que yo necesitaba solo eran 5 lineas de código.




<?php
$ch = curl_init('http://www.pagina.es');
# Conectamos con la web en cuestión
curl_setopt ($ch, CURLOPT_POST, 1);
# Le decimos que vamos a usar el método POST
curl_setopt ($ch, CURLOPT_POSTFIELDS, "id1=value&id2=value2");
# Aquí las tareas que debe enviar por el método
curl_exec ($ch);
# Ejecutamos
curl_close ($ch);
# Finalizamos
?>

smaug_
30-03-2008, 04:45
Gracias welvis, la verdad que esa funcion de Curl no la conocia, yo la uso en mi proyecto para extraer el codigo de las paginas. En el fondo, es lo mismo que se puede hacer con las librerias httprequest, solo que de forma diferente.
Un saludo!