Hola
Imagino, que intentaste hacer algo como:
www.bicing.cat/login.php?user=xxxx&password=yyyy
¿no?.
Por eso dije, que es mejor enviar los datos directamente mediante sockets, con las funciones TCP() de AutoIt.
No se si permitirán en el foro hablar de la captura del tráfico, puesto que puede usarse para fines ... fraudulentos, que no digo que sea tu caso. Por eso lo he mencionado así por encima.
No conozco ese complemento de Firefox, uso poco ese navegador. Pero te adelanto, que la página de bicing de Barcelona (
www.bicing.cat) como muchas otras, no pasa los parámetros mediante GET, que es lo sencillo a la hora de construir un boot, sino mediante post, que por lo menos hace más entretenido la creación de este.
Aquí te dejo la petición que se hace para el login en
www.bicing.cat. No se qué querrás hacer exactamente, pero te dejo una idea de por donde van los tiros. Por lo menos sabes que tienes que pasar los parámetros mediante POST, que ya es algo. Y si pretendías loguearte, ya tienes los parámetros que has de pasar y el script al que has de invocar:
Código: Seleccionar todo
POST /usuarios/login/validar_usuario.php HTTP/1.1
Accept: image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/x-shockwave-flash, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*
Referer: http://www.bicing.cat/
Accept-Language: es
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
Host: www.bicing.cat
Content-Length: 38
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: PHPSESSID=778l0d5rsukng9bjum9t0tvsl3; __utma=201942018.686055322.1316699705.1316699705.1316699705.1; __utmb=201942018.1.10.1316699705; __utmc=201942018; __utmz=201942018.1316699705.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)
p_txtLogin=usuario&&p_txtPass=password
como dije en el otro hilo, no siempre son necesarias todas las cabeceras. Capturando el tráfico entre tu ordenador y el servidor (sea cual sea) verás que siempre aparecen las mismas cabeceras (todas, o casi todas). Esto es, porque los navegadores las incluyen para cumplir estríctamente con el protocolo HTTP, que es como debe ser. Pero en este caso, en que no pretendemos dibujar la web en una ventana (hacer un navegador), no es necesario incluir muchas de ellas, pues algunas sólo dan información acerca de las tecnologías que soportan, información del usuario etc etc.
Por otra parte, hay algunas que pueden ser utilizadas como trampa por los servidores. No es lo habitual, pero alguien que quiera medio proteger su página de boots puede hacerlo.
Si te fijas, (lo que te he puesto es la petición HTTP que hace IE 8) está hasta la cabecera referer, que seguramente no es usada por el script php...
Depende de ti como lo hagas. Si quieres ir quitando cabeceras innecesarias, enviarás menos código y por tanto se supone que la comunicación será más ligera (aunque ni notarás la diferencia) y tendrás menos código. Si prefieres dejar la petición así para asegurarte que funcione, también puedes hacerlo. Ojo, que esa petición no va a funcionar para cualquier web. Si esa misma la envías a
www.google.com por ejemplo, no obtendrás seguramente el código de la página de Google, pues ni el host, ni los parámetros, ni el método de envío son los de Google...
Pero vamos, como podrás ver, modificarlo es un pliss, sin complicación alguna.
Por cierto, si quieres que tu script AutoIt termine rápido cuando haya obtenido los datos del servidor, cambia:
por:
Te recomiendo para usar esta manera de acceder a los servidores, conocer el protocolo HTTP, que no es muy complejo, y podrás hacer con más soltura estas cosas.
Salu2!