Seite 1 von 1

do_post (?) auf Server ausführen

Verfasst: Sonntag 9. November 2008, 21:35
von TheMenace
Hallo,
leider hab ich keinerlei Erfahrung im Programmieren mit Python.
Vielleicht könnte mir jemand mit einem kleinen Code-Schnipsel aushelfen.

ich müsste unter Python 2.5.2 auf meinem NAS (Qnap) ein paar Steuerbefehle auf meinen Router ausführen (Connect/disconnect).

Aus Routercontrol habe ich folgende Zeilen die zur Steuerung meines Routers dienen.

LOGIN : cgi-bin/webcm?login:command/password=%PASSWORD%
Connect : cgi-bin/webcm?connection0:settings/cmd_connect=1
Disconnect : cgi-bin/webcm?connection0:settings/cmd_disconnect=1

Alle Befehle werden mit dem POST Befehl auf dem Router abgesetzt.

Wenn ich im Netz suche, finde ich unter Python den Befehl "do_post", allerdings hab ich kein einfaches Beispiel zur verwendung des Befehls finden können.

Mit geht es darum die 3 obrigen Post's abzusetzen und danach das Programm zu beenden.

Wäre super wenn da jemand was hätte.
Danke im vorraus !

The Menace

Verfasst: Sonntag 9. November 2008, 21:46
von Sr4l
http://docs.python.org/library/urllib.html#examples

Code: Alles auswählen

>>> import urllib
>>> params = urllib.urlencode({'spam': 1, 'eggs': 2, 'bacon': 0})
>>> f = urllib.urlopen("http://www.musi-cal.com/cgi-bin/query", params)
>>> print f.read()
Das sollte dir schon reichen. ;-)

Verfasst: Sonntag 9. November 2008, 22:04
von lunar
Sr4l hat geschrieben:Das sollte dir schon reichen. ;-)
Wenn der Router Logins über Cookies verwaltet, benötigt man mindestens urllib2.

Verfasst: Sonntag 9. November 2008, 22:06
von TheMenace
Nein scheint er nicht zu benötigen.
Die erste Lösung funktioniert für meinen Speedport W721V !

Danke schön !