do_post (?) auf Server ausführen

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
TheMenace
User
Beiträge: 2
Registriert: Sonntag 9. November 2008, 21:17

do_post (?) auf Server ausführen

Beitragvon TheMenace » Sonntag 9. November 2008, 21:35

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
Zuletzt geändert von TheMenace am Sonntag 9. November 2008, 23:42, insgesamt 1-mal geändert.
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Beitragvon Sr4l » Sonntag 9. November 2008, 21:46

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. ;-)
lunar

Beitragvon lunar » Sonntag 9. November 2008, 22:04

Sr4l hat geschrieben:Das sollte dir schon reichen. ;-)

Wenn der Router Logins über Cookies verwaltet, benötigt man mindestens urllib2.
TheMenace
User
Beiträge: 2
Registriert: Sonntag 9. November 2008, 21:17

Beitragvon TheMenace » Sonntag 9. November 2008, 22:06

Nein scheint er nicht zu benötigen.
Die erste Lösung funktioniert für meinen Speedport W721V !

Danke schön !

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder