Ver Mensaje Individual
  #7 (permalink)  
Antiguo 22/06/2011, 03:13
moeb
 
Fecha de Ingreso: febrero-2011
Mensajes: 581
Antigüedad: 13 años, 2 meses
Puntos: 81
Respuesta: Monitorización NSClient++

Me alegro de que te funcionase :)

Si quieres logearte usando post (con parametros de la pagina) tendras que usar la funcionalidad --post-data de wget... Si no necesitas una cookei previa, bastaría con eso (y usando "--save-cookies" si quieres mantener la cookie devuelta).

El problema es que necesites una cookie previa (como ocurre por ejemplo en drupal)... Entonces tendrás que salvar dicha cookie ANTES de enviar usuario y password, para enviar tambien la cookie de sesion... Hace tiempo use un script modificado que saqué de algun sitio web para logear en drupal... No sé si te dará alguna pista (supongo que sí, dado que es bastante sencillito)... El problema es que está escrito en bash... Si lo quieres en un .bat tendrás que currártelo un pelo (no demasiado, la verdad... simplemente asignar las variables con otra sintaxis y referenciarlas con %var% en lugar de $var.):

#!/bin/sh

site=http://La_Direccion_web/
name=TuUsuario
pass=TuPassword
cookies=/tmp/cron-cookies.txt

wget -O /dev/null --save-cookies /tmp/ba-cookies.txt --keep-session-cookies --load-cookies $cookies "${site}user"

wget --keep-session-cookies --save-cookies $cookies --load-cookies $cookies -O /dev/null --post-data="name=$name&pass=$pass&op=Log%20in&form_id=us er_login" "${site}user?destination=login_redirect"

## Este ultimo wget quizas no lo necesites
wget --keep-session-cookies --save-cookies $cookies --load-cookies $cookies "${site}login_redirect"

login_redirect es la pagina a la que te redirige una vez has hecho login... en tu caso tendras que poner la que sea (tras el valor de "site").


En cualquier caso, fijo que tienes decenas de ejemplos en php, perl o python que te permitiran hacer eso sin necesidad de usar wget... Pero ya que estás usándolo... Prueba :)