Seite 1 von 1
URL senden ?
Verfasst: Samstag 25. Juni 2011, 02:37
von Rocco
Hi
ich nutze python 2.6 und möchte per definierten Button eine Url senden (
http://192.168.178.xx/?3=einschalten)
Button Gui soweit ok , Menü der IP einstellung funktioniert auch , nur Url kann nicht abgerufen werden,springt gleich auf Webserver nicht ereichbar ? evt. finde ich den Fehler in der Syntax nicht ...
Code: Alles auswählen
def sendGET(self, action=None):
if not action:
action = 'einschalten'
button_id = self.getSetting('button_id_1')
hostname = self.getSetting('box_hostname')
url = 'http://%s/?%s=%s' % (hostname,
button_id,
action)
try:
request = urllib2.urlopen(url, timeout=3)
except:
self.Dialog.ok(sys.modules['__main__'].__scriptname__,
'Webserver nicht erreichbar')
Re: URL senden ?
Verfasst: Samstag 25. Juni 2011, 06:48
von Barabbas
Entferne doch erstmal diesen sehr allgemein gehaltenen try-except-Block. Dann zeigt dir Python zumindest deutlich, was schief läuft. Ohne eine genaue Fehlermeldung kann es ja alles mögliche sein? Vielleicht hast du vergessen urllib2 zu importieren? Vielleicht ist die IP gar nicht erreichbar?
Darum: Niemals einfach nur "try... except...": Immer die abzufangenden Exceptions explizit angeben.
Schönen Gruß,
brb
Re: URL senden ?
Verfasst: Samstag 25. Juni 2011, 11:33
von Rocco
Barabbas hat geschrieben:Entferne doch erstmal diesen sehr allgemein gehaltenen try-except-Block. Dann zeigt dir Python zumindest deutlich, was schief läuft. Ohne eine genaue Fehlermeldung kann es ja alles mögliche sein? Vielleicht hast du vergessen urllib2 zu importieren? Vielleicht ist die IP gar nicht erreichbar?
Darum: Niemals einfach nur "try... except...": Immer die abzufangenden Exceptions explizit angeben.
Schönen Gruß,
brb
@Barabbas danke für den Ttipp,
hätte evt erwähnen sollen das die Ip Adresse sich per Browser abrufen lässt , ich benutze die Funktion aus einem Media Center "XBMC". von dort aus werden alle fehler in einem LoG File gespeichert.
Die urllib2 wurde importiert und wird auch akzeptiert von Script. Als debugger benutze ich nur die logfile vom XBMC , das debuggen über die IDLE scheitert da es die spezifischen Bibliotehken des Mediacenters nicht beinhaltet und ich als Einsteiger nicht die nötigen Kentnisse besitze.
evt könntest du mir eine StepbyStep hilfe geben ?
Gruß
Re: URL senden ?
Verfasst: Samstag 25. Juni 2011, 12:25
von deets
Der Tipp bleibt derselbe - lass das try/except weg. So wie du das da gemacht hast, endet *nichts* im logfile - ein logfile faengt nicht magisch alle Fehler im Programm auf.
Und dann schau dir an, was *wirklich* schiefgeht, und poste das ggf. hier.
Re: URL senden ?
Verfasst: Samstag 25. Juni 2011, 22:19
von Rocco
Sorry mit dem Debugger habe ich noch nie gearbeitet :K
Ich poste mal das Script hierher:
http://www.file-upload.net/download-3536961/gui.py.html
Re: URL senden ?
Verfasst: Samstag 25. Juni 2011, 22:32
von EyDu
Hier hat keiner, außer dir, etwas von einem Debugger gesagt. Du sollst einfach nur das try-except aus deinem Code entfernen, damit die Fehlermeldung nicht verschluckt wird und du sehen kannst, was schief geht. Das Forum hat übrigens auch Code-Tags spezielle für Python. Wenn du größere Quelltexte zeigen willst, dann benutze am besten eine Paste Bin (oben ist sogar eins verlinkt) und keine File-Hoster.
Sebastian
Re: URL senden ?
Verfasst: Samstag 25. Juni 2011, 23:49
von Rocco
EyDu hat geschrieben: ....damit die Fehlermeldung nicht verschluckt wird und du sehen kannst, was schief geht. Das Forum hat übrigens auch Code-Tags spezielle für Python. .
wo sollte denn diese Fehlermeldung sichtbar sein ?
Re: URL senden ?
Verfasst: Samstag 25. Juni 2011, 23:51
von EyDu
Im Traceback welchen du erhältst.
Re: URL senden ?
Verfasst: Sonntag 26. Juni 2011, 10:03
von deets
Rocco hat geschrieben:
wo sollte denn diese Fehlermeldung sichtbar sein ?
Du hast doch selbst behauptet, da gaeb's ein logfile, in dem alles steht.
Re: URL senden ?
Verfasst: Sonntag 26. Juni 2011, 20:33
von Rocco
deets hat geschrieben:Rocco hat geschrieben:
wo sollte denn diese Fehlermeldung sichtbar sein ?
Du hast doch selbst behauptet, da gaeb's ein logfile, in dem alles steht.
HI
ich denke aus den Logfile wirst du eher wenig interne sachen zur Syntax von Script bekommen.
Die Fehlermeldungen werden doch schon eher durch den Debugger klarer .
Siehe XBMC Log:
Code: Alles auswählen
1:03:27 T:4752 M:2101583872 NOTICE: -->Python Interpreter Initialized<--
21:03:27 T:4752 M:2101583872 NOTICE: [SCRIPT][Play Webcam] version 0.0.2 initialized!
21:03:34 T:4752 M:2099142656 NOTICE: [SCRIPT][Play Webcam] version 0.0.2 exited!
21:03:34 T:2960 M:2099187712 ERROR: CLocalizeStrings::ClearBlock: Trying to clear non existent block C:\Users\Siggi\AppData\Roaming\XBMC\addons\script.playcam
21:03:36 T:2960 M:2099478528 NOTICE: Storing total System Uptime
21:03:36 T:2960 M:2099478528 NOTICE: Saving settings
21:03:36 T:2960 M:2099384320 NOTICE: stop all
21:03:36 T:2960 M:2099384320 NOTICE: ES: Stopping event server
21:03:36 T:2960 M:2099384320 NOTICE: Webserver: Stopping...
21:03:36 T:2960 M:2099384320 NOTICE: WebServer: Stopped the webserver
21:03:36 T:2960 M:2099384320 NOTICE: Webserver: Stopped...
21:03:37 T:2244 M:2100342784 NOTICE: ES: UDP Event server stopped
21:03:37 T:2960 M:2100342784 NOTICE: stop sap announcement listener
21:03:37 T:2960 M:2100342784 NOTICE: clean cached files!
21:03:37 T:2960 M:2100342784 NOTICE: unload skin
21:03:37 T:2960 M:2100367360 NOTICE: stop python
21:03:37 T:2960 M:2109120512 NOTICE: stopped
21:03:37 T:2960 M:2109218816 NOTICE: destroy
21:03:37 T:2960 M:2109370368 NOTICE: unload sections
Re: URL senden ?
Verfasst: Sonntag 26. Juni 2011, 20:52
von deets
Du redest immer von einem Debugger. Was denn fuer ein Debugger? Und *hast* du jetzt mal das try/except rausgenommen, ja, oder nein?