[gelöst] Prozentdekodierung URLs

Begonnen von plaicy, 04 September 2017, 21:04:09

Vorheriges Thema - Nächstes Thema

plaicy

Hallo,

normalerweise kenne ich das so, dass bei URLs mit Prozent diese dekodiert werden. Auch im Authentifizierungs-Teil, den man für die URL in "Calendar" braucht. In FHEM gibt es bereits die Dekodierfunktion. Diese wird habe hierfür nicht verwendet. Mit der angehängten winzigen Änderung funktioniert das bei mir jetzt seit Monaten. Muss nur natürlich beim Update immer aufpassen, dass ich sie wieder einspiele.

Oder soll man alles direkt in die URL schreiben? Wäre beispielsweise bei Leerzeichen schwierig.

CoolTux

Also mit Sonderzeichen im Passwort hatte ich in der HttpUtils nie Probleme, und in einem Usernamen hat sowas schlicht nichts verloren. In welchen Teil wurde es bei Dir nötig das zu encodieren? Username oder Passwort?
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

plaicy

#2
War für das Passwort nötig. Aber wenn es gewollt wird, dass man das direkt angibt, probiere ich es noch einmal. Allerdings verhält sich dann der Browser anders als FHEM, wenn im Passwort ein Prozent vorkommt. Man könnte es dann es dann auch nicht im Browser testen.

CoolTux

Interessant. Muss gestehen Prozentzeichen hatte ich noch nie. Hast du Mail in der Maintainer Datei geschaut ob das Forum korrekt ist? Wenn es das ist wird Rudi hier bestimmt was zu schreiben.
Mein Bauchgefühl sagt aber dass er den Patch für nicht wichtig hält und ihn daher ablehnt.

Kann mich aber auch irren  ;D
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

plaicy

In der MAINTAINER.txt steht:
FHEM/HttpUtils.pm            rudolfkoenig         http://forum.fhem.de Automatisierung

CoolTux

Dann passt es. Gib ihm etwas Zeit. Ist gerade erst wieder zurück und muss sich einarbeiten.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

rudolfkoenig

Ich habe es eingecheckt, auch wenn ich nicht ganz sicher bin, ob es so richtig ist.
Immerhin kann man jetzt ein @ im Passwort angeben, alle anderen Zeichen muessten auch bisher funktioniert haben.

Und die, die %<hex> im Passwort haben, muessen das URL neu schreiben.

CoolTux

Zitat von: rudolfkoenig am 05 September 2017, 09:16:39
Ich habe es eingecheckt, auch wenn ich nicht ganz sicher bin, ob es so richtig ist.
Immerhin kann man jetzt ein @ im Passwort angeben, alle anderen Zeichen muessten auch bisher funktioniert haben.

Und die, die %<hex> im Passwort haben, muessen das URL neu schreiben.

Rudi ich kann Dir sagen das ein @ im Passwort auch schon vorher super geklappt hat. Hatte so einen Kandidaten im Test meines Gardena Modules. Daher weiß ich das so genau.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

rudolfkoenig

Hast recht, der Regexp ist greedy:
/^(http|https):\/\/(([^:\/]+):([^:\/]+)@)?([^:\/]+)(:\d+)?(\/.*)$/
Dieser Regexp wird mir langsam zu unlesbar, ich will es auseinandernehmen oder wenigestens auf Mehrzeiler umbauen.
Muss ja auch noch IPv6 lernen.

plaicy

Danke. Dann kann ich jetzt die URLs im Browser testen. Außerdem würden dann auch Doppelpunkt (im Benutzer natürlich nicht) und Slash im Passwort funktionieren.