[Python] Reconexión IP Router

xCoNDoR

Hola MV, hace un rato abrí un thread donde preguntaba como emular la pulsación de un botón en una web:

La razón era para hacer la reconexión automática de mi router para cambiar de IP.

Bien, ahora, después de buscar y buscar, he creado un script de reconexión con jdownloader, y me gustaría saber si puedo traducirlo a python, utilizando urllib2 y mandando las cabeceras tal y como muestra el script.

¿Sabríais ayudarme?

El script en cuestión es este:

[[[HSRC]]]
    [[[STEP]]]
        [[[REQUEST]]]
        GET /admin/status.asp HTTP/1.1
        Host: %%%routerip%%%
        Authorization: Basic %%%basicauth%%%
        [[[/REQUEST]]]
    [[[/STEP]]]

[[[STEP]]]
    [[[REQUEST]]]
    GET /code.asp HTTP/1.1
    Host: %%%routerip%%%
    Authorization: Basic %%%basicauth%%%
    [[[/REQUEST]]]
[[[/STEP]]]

[[[STEP]]]
    [[[REQUEST]]]
    POST /goform/admin/formStatus HTTP/1.1
    Host: %%%routerip%%%
    Authorization: Basic %%%basicauth%%%

submitppp0=Disconnect&submit-url=%2Fadmin%2Fstatus.asp
        [[[/REQUEST]]]
    [[[/STEP]]]

[[[STEP]]]
    [[[REQUEST]]]
    GET /admin/status.asp HTTP/1.1
    Host: %%%routerip%%%
    Authorization: Basic %%%basicauth%%%
    [[[/REQUEST]]]
[[[/STEP]]]

[[[STEP]]]
    [[[REQUEST]]]
    POST /goform/admin/formStatus HTTP/1.1
    Host: %%%routerip%%%
    Authorization: Basic %%%basicauth%%%

submitppp0=Connect&submit-url=%2Fadmin%2Fstatus.asp
        [[[/REQUEST]]]
    [[[/STEP]]]

[[[STEP]]]
    [[[REQUEST]]]
    GET /admin/status.asp HTTP/1.1
    Host: %%%routerip%%%
    Authorization: Basic %%%basicauth%%%
    [[[/REQUEST]]]
[[[/STEP]]]

[[[/HSRC]]]
Tunnecino

¿Por que no conectas a tu router por telnet? Yo es lo que hago con el HomeStation de timofónica y me va de escándalo.

LOc0

¿Tiene que ser en Python obligatoriamente? ¿No te vale un script de bash con wget?

Salu2 ;)

xCoNDoR

Gracias por las respuestas.

Ya lo hice, fué sencillo.

Con Python y la librería urllib2, le añades el header con el BASIC auth (que es siempre el mismo) y haces una petición POST con la cadena que se muestra en #1 y profit :)

1

Usuarios habituales

  • xCoNDoR
  • LOc0
  • Tunnecino