Hallo zusammen,
Ich versuch mich an einem Logikbaustein der mit Hilfe der Urllib eine Webabfrage an meinem Musikpal durchführt.
Ziel ist es die ja nicht immer in gleicher Anzahl gespeicherten Favoriten auszulesen und die ersten 15 auszugeben.
Wie krieg ich Username und Passwort mit der Urllib übermittelt?
So gehts anscheinend nicht
Ich versuch mich an einem Logikbaustein der mit Hilfe der Urllib eine Webabfrage an meinem Musikpal durchführt.
Ziel ist es die ja nicht immer in gleicher Anzahl gespeicherten Favoriten auszulesen und die ersten 15 auszugeben.
Wie krieg ich Username und Passwort mit der Urllib übermittelt?
So gehts anscheinend nicht
Code:
# -*- coding: iso8859-1 -*-
## -----------------------------------------------------
## urllib : Musicpal Favoriten Abfrage ### V0.1
##
## erstellt am: 2010-06-01 20:16
## -----------------------------------------------------
## Copyright © 2010, knx-user-forum e.V, All rights reserved.
##
## This program is free software; you can redistribute it and/or modify it under the terms
## of the GNU General Public License as published by the Free Software Foundation; either
## version 3 of the License, or (at your option) any later version.
##
## This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
## without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
## See the GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License along with this program;
## if not, see <http://www.gnu.de/documents/gpl-3.0.de.html>.
#5000|"Text"|Remanent(1/0)|Anz.Eingänge|.n.|Anzahl Ausgänge|.n.|.n.
#5001|Anzahl Eingänge|Ausgänge|Offset|Speicher|Berechnung bei Start
#5002|Index Eingang|Default Wert|0=numerisch 1=alphanummerisch
#5003|Speicher|Initwert|Remanent
#5004|ausgang|Initwert|runden binär (0/1)|typ (1-send/2-sbc)|0=numerisch 1=alphanummerisch
#5012|abbruch bei bed. (0/1)|bedingung|formel|zeit|pin-ausgang|pin-offset|pin-speicher|pin-neg.ausgang
5000|"woda\MusicPal_Favoritenabfrage"|0|4|"E1 Musicpal_IP"|"E2 Username"|"E3 Passwort"|"E4 Trigger"|7|"A1 Fav.01"|"A2 Fav.02"|"A3 Fav.03"|"A4 Fav.04"|"A5 Fav.05"|"A6 Fav.06"|"A7 DEBUG"
5001|3|7|0|3|1
# EN[x]
5002|1|"192.168.0.5"|1 #* IP
5002|2|""|1 #* Username
5002|3|""|1 #* Passwort
5002|4|""|0 #* Trigger
# Speicher
5003|1||0 #* Klassenspeicher
5003|2||0 #* HTMLSpeicher
5003|3||0 #* RegexSpeicher
# Ausgänge
5004|1|""|0|1|1 #* Fav. 1
5004|2|""|0|1|1 #*
5004|3|""|0|1|1 #*
5004|4|""|0|1|1 #*
5004|5|""|0|1|1 #*
5004|6|""|0|1|1 #*
5004|7|""|0|1|1 #* DEBUG
#################################################
5012|0|"EI"|"eval(compile(__import__('base64').decodestring('CmlmIEVJPT0xOiAgICAKICAgIGNsYXNzIEtOWFVGX3VybGxpYjoKICAgICAgICBkZWYgX19pbml0X18oc2VsZixvYmopOgogICAgICAgICAgICBzZWxmLk1DID0gb2JqLk1DCiAgICAgICAgICAgIHNlbGYucmVjdXJzaXY9MAogICAgICAgIGRlZiByZXNvbHZlKHNlbGYsaG9zdCk6CiAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLk1DLkROU1Jlc29sdmVyLmdldEhvc3RJUChob3N0KQogICAgICAgICAgICBleGNlcHQ6CiAgICAgICAgICAgICAgICBwYXNzCiAgICAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF9faW1wb3J0X18oJ3NvY2tldCcpLmdldGhvc3RieW5hbWUoaG9zdCkKICAgICAgICAgICAgICAgIGV4Y2VwdDoKICAgICAgICAgICAgICAgICAgICByYWlzZSAiSG9zdDogIiArIGhvc3QgKyAiIG5vdCBmb3VuZCIKICAgICAgICBkZWYgb3BlbihzZWxmLHVybCxtZXRob2Q9J0dFVCcsIGRhdGE9JycsIHJlZmVyZXI9JycsIGFnZW50PSJHSVJBIEhvbWVzZXJ2ZXIiLGxhbmc9ImRlLWRlLGRlO3E9MC44LGVuLXVzO3E9MC41O2VuO3E9MC4zIixmb2xsb3c9MSx0aW1lb3V0PTEsaGVhZGVyPTAsY29udGVudD0xLHNlcGVyYXRvcj0iIyIpOgogICAgICAgICAgICBpZiBzZWxmLnJlY3Vyc2l2PjI6CiAgICAgICAgICAgICAgICByZXR1cm4gIiIKICAgICAgICAgICAgaGF2ZUJlaGF2aW91cj1UcnVlCiAgICAgICAgICAgIGlmIGFnZW50PT0iTVNJRSI6CiAgICAgICAgICAgICAgICBhZ2VudD0iTW96aWxsYS80LjAgKGNvbXBhdGlibGU7IE1TSUUgNy4wOyBXaW5kb3dzIE5UIDYuMCkiCiAgICAgICAgICAgICAgICBoYXZlQmVoYXZpb3VyPUZhbHNlCiAgICAgICAgICAgIGlmIGFnZW50PT0iRkYyIjoKICAgICAgICAgICAgICAgIGFnZW50PSJNb3ppbGxhLzUuMCAoV2luZG93czsgVTsgV2luZG93cyBOVCA1LjE7IGRlOyBydjoxLjguMS4yMCkgR2Vja28vMjAwODEyMTcgRmlyZWZveC8yLjAuMC4yMCIKICAgICAgICAgICAgICAgIGhhdmVCZWhhdmlvdXI9RmFsc2UKICAgICAgICAgICAgbWV0aG9kPW1ldGhvZC51cHBlcigpCiAgICAgICAgICAgIHVybD11cmwuc3BsaXQoIi8iKQogICAgICAgICAgICBwcm90bz11cmxbMF0ubG93ZXIoKQogICAgICAgICAgICBpZiBwcm90bz09Imh0dHA6IjoKICAgICAgICAgICAgICAgIHBvcnQ9ODAKICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgIHBvcnQ9MjMKICAgICAgICAgICAgaG9zdD11cmxbMl0ubG93ZXIoKQogICAgICAgICAgICBpZiBob3N0LmZpbmQoIjoiKT4wOgogICAgICAgICAgICAgICAgKGhvc3QsIHBvcnQpID0gaG9zdC5zcGxpdCgiOiIpCiAgICAgICAgICAgICAgICBwb3J0PWludChwb3J0KQogICAgICAgICAgICBkc3RfYWRkciA9IHNlbGYucmVzb2x2ZShob3N0KQogICAgICAgICAgICB1cmwucG9wKDApCiAgICAgICAgICAgIHVybC5wb3AoMCkKICAgICAgICAgICAgdXJsLnBvcCgwKQogICAgICAgICAgICBzb2NrID0gX19pbXBvcnRfXygnc29ja2V0Jykuc29ja2V0KF9faW1wb3J0X18oJ3NvY2tldCcpLkFGX0lORVQsX19pbXBvcnRfXygnc29ja2V0JykuU09DS19TVFJFQU0pCiAgICAgICAgICAgIGlmIGZsb2F0KF9faW1wb3J0X18oJ3N5cycpLnZlcnNpb25bMDozXSk+Mi4yOgogICAgICAgICAgICAgICAgc29jay5zZXR0aW1lb3V0KHRpbWVvdXQpCiAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgIHNvY2suY29ubmVjdCgoZHN0X2FkZHIscG9ydCkpCiAgICAgICAgICAgIGV4Y2VwdDoKICAgICAgICAgICAgICAgIHBhc3MKICAgICAgICAgICAgICAgIHJhaXNlICJLZWluZSBWZXJiaW5kdW5nIHp1IEhvc3QgIitob3N0KyIgYXVmIFBvcnQgIitzdHIocG9ydCkKICAgICAgICAgICAgICAgIHNvY2suY2xvc2UoKQogICAgICAgICAgICAgICAgcmV0dXJuICIiCiAgICAgICAgICAgIHVybD0iLyIuam9pbih1cmwpICAgICAgICAgICAgICAgIAogICAgICAgICAgICBpZiBwcm90bz09Imh0dHA6IjoKICAgICAgICAgICAgICAgIHVybCA9IF9faW1wb3J0X18oJ3VybGxpYicpLnF1b3RlX3BsdXMoIi8iK3VybCwiLz8mPSUjIikKICAgICAgICAgICAgICAgIHBvc3RkYXRhPSIiCiAgICAgICAgICAgICAgICBpZiBsZW4oZGF0YSk+MDoKICAgICAgICAgICAgICAgICAgICBzZW5kZGF0YT1fX2ltcG9ydF9fKCd1cmxsaWInKS5xdW90ZV9wbHVzKGRhdGEsIiY9IikKICAgICAgICAgICAgICAgICAgICBpZiBtZXRob2QgPT0gIkdFVCI6CiAgICAgICAgICAgICAgICAgICAgICAgIHVybCs9Ij8iK2RhdGEKICAgICAgICAgICAgICAgICAgICAgICAgc2VuZGRhdGE9IiIKICAgICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICAgICBwb3N0ZGF0YSA9IkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkXHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAgcG9zdGRhdGErPSJDb250ZW50LUxlbmd0aDogIitzdHIobGVuKGRhdGEpKSsiXHJcbiIKICAgICAgICAgICAgICAgICAgICAgICAgcG9zdGRhdGErPSJDb25lY3Rpb246IGNsb3NlXHJcblxyXG4iCiAgICAgICAgICAgICAgICBzb2NrLnNlbmQobWV0aG9kKyIgIit1cmwrIiBIVFRQLzEuMVxyXG4iKQogICAgICAgICAgICAgICAgc29jay5zZW5kKCJIT1NUOiAiK2hvc3QrIlxyXG4iKQogICAgICAgICAgICAgICAgc29jay5zZW5kKCJVc2VyLUFnZW50OiAiK2FnZW50KyJcclxuIikKICAgICAgICAgICAgICAgIGlmIG5vdCBoYXZlQmVoYXZpb3VyOgogICAgICAgICAgICAgICAgICAgIHNvY2suc2VuZCgiQWNjZXB0OiAiKyJ0ZXh0L3htbCxhcHBsaWNhdGlvbi94bWwsYXBwbGljYXRpb24veGh0bWwreG1sLHRleHQvaHRtbDtxPTAuOSx0ZXh0L3BsYWluO3E9MC44LGltYWdlL3BuZywqLyo7cT0wLjVcclxuIikKICAgICAgICAgICAgICAgICAgICBzb2NrLnNlbmQoIkFjY2VwdC1MYW5ndWFnZTogIiArIGxhbmcubG93ZXIoKSArICJcclxuIikKICAgICAgICAgICAgICAgICAgICBzb2NrLnNlbmQoIkFjY2VwdC1DaGFyc2V0OiAiKyAiSVNPLTg4NTktMSx1dGYtODtxPTAuNywqO3E9MC43XHJcbiIpCiAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgIHNvY2suc2VuZCgiQWNjZXB0LUxhbmd1YWdlOiAiICsgbGFuZy5sb3dlcigpICsgIlxyXG4iKQogICAgICAgICAgICAgICAgaWYgbGVuKHJlZmVyZXIpPjA6CiAgICAgICAgICAgICAgICAgICAgc29jay5zZW5kKCJSZWZlcmVyOiAiK3JlZmVyZXIrIlxyXG4iKQogICAgICAgICAgICAgICAgaWYgbGVuKHBvc3RkYXRhKT4wOgogICAgICAgICAgICAgICAgICAgIHNvY2suc2VuZChwb3N0ZGF0YSkKICAgICAgICAgICAgICAgICAgICBzb2NrLnNlbmQoc2VuZGRhdGEpCiAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgIHNvY2suc2VuZCgiXHJcbiIpCiAgICAgICAgICAgICAgICAgICAgc29jay5zZW5kKCJcclxuIikKICAgICAgICAgICAgZWxpZiBwcm90bz09InRlbG5ldDoiOgogICAgICAgICAgICAgICAgaGVhZGVyPTEKICAgICAgICAgICAgICAgIGNvbnRlbnQ9MQogICAgICAgICAgICAgICAgaWYgdXJsLmZpbmQoc2VwZXJhdG9yKSE9LTE6CiAgICAgICAgICAgICAgICAgICAgZm9yIGNtZCBpbiB1cmwuc3BsaXQoc2VwZXJhdG9yKToKICAgICAgICAgICAgICAgICAgICAgICAgc29jay5zZW5kKGNtZCsiXHJcbiIpCiAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgIHNvY2suc2VuZCh1cmwrIlxyXG4iKQogICAgICAgICAgICBzb2NrLnNodXRkb3duKDEpCiAgICAgICAgICAgIHJlY2VpdmVkPSIiCiAgICAgICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgICAgICByZWFkPXNvY2sucmVjdigxMDI0KQogICAgICAgICAgICAgICAgaWYgbm90IHJlYWQ6CiAgICAgICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAgICAgICAgIHJlY2VpdmVkKz1yZWFkCiAgICAgICAgICAgIHNvY2suY2xvc2UoKQogICAgICAgICAgICByZWNlaXZlZCA9IF9faW1wb3J0X18oJ3JlJykuc3BsaXQoIlxyXG5cclxuIixyZWNlaXZlZCkKICAgICAgICAgICAgcmVkaXJlY3QgPSBfX2ltcG9ydF9fKCdyZScpLmZpbmRhbGwociIoP20pXkxvY2F0aW9uOlxzKFx3KzouKilcclxuIiwgcmVjZWl2ZWRbMF0pCiAgICAgICAgICAgIGlmIHJlZGlyZWN0OgogICAgICAgICAgICAgICAgaWYgZm9sbG93PT0xOgogICAgICAgICAgICAgICAgICAgIHNlbGYucmVjdXJzaXYrPTEKICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5vcGVuKHJlZGlyZWN0WzBdLG1ldGhvZD1tZXRob2QsIGRhdGE9ZGF0YSwgcmVmZXJlcj1yZWZlcmVyLCBhZ2VudD1hZ2VudCx0aW1lb3V0PXRpbWVvdXQsaGVhZGVyPWhlYWRlcixjb250ZW50PWNvbnRlbnQsc2VwZXJhdG9yPXNlcGVyYXRvcikKICAgICAgICAgICAgcmV0PSIiCiAgICAgICAgICAgIGlmIGhlYWRlcjoKICAgICAgICAgICAgICAgIHJldCs9cmVjZWl2ZWRbMF0KICAgICAgICAgICAgaWYgY29udGVudDoKICAgICAgICAgICAgICAgIGlmIGhlYWRlcjoKICAgICAgICAgICAgICAgICAgICByZXQrPSJcclxuXHJcbiIKICAgICAgICAgICAgICAgIHJlY2VpdmVkLnBvcCgwKQogICAgICAgICAgICAgICAgcmV0Kz0iXHJcblxyXG4iLmpvaW4ocmVjZWl2ZWQpCiAgICAgICAgICAgIHJldHVybiByZXQK'),'<10101_urllib_Musikpal_Favoritenabfrage>','exec'))"|""|0|0|0|0
## Klasse auf SN[1]
5012|0|"EI"|"KNXUF_urllib(self)"|""|0|0|1|0
## Abfrage
5012|0|"(EC[1] or EC[2] or EC[3] or EC[4]) and len(EN[1])>0"|"SN[1].open('http://'+EN[2]+':'+EN[3]+'@'+EN[1]+'/admin/cgi-bin/state.cgi?fav=1')"|""|7|0|2|0
## Regex
5012|0|"len(SN[2])>0"|"__import__('re').search(r'<name>(?P<fav01>)[</name>]',SN[2])"|""|0|0|3|0
## Abbruch bei Fehler
5012|1|"str(type(SN[3])).find('SRE_Match') == -1"|""|""|0|0|0|0
## AUsgabe
5012|0|"SN[3]"|"SN[3].group('fav01')"|""|1|0|0|0
5012|0|"SN[3]"|"SN[3].group('fav02')"|""|2|0|0|0
5012|0|"SN[3]"|"SN[3].group('fav03')"|""|3|0|0|0
5012|0|"SN[3]"|"SN[3].group('fav04')"|""|4|0|0|0
5012|0|"SN[3]"|"SN[3].group('fav05')"|""|5|0|0|0
5012|0|"SN[3]"|"SN[3].group('fav06')"|""|6|0|0|0


ungetestet
Kommentar