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?