Passwort geschütztes fhemweb mit user parametern aufrufen

Begonnen von Guest, 12 Dezember 2012, 07:02:00

Vorheriges Thema - Nächstes Thema

Guest

Originally posted by: <email address deleted>

Hallo

ich habe mein fhem pwd gesichert. Geht leider nicht amders weil zu viele personen im gleichen lan.
Möchte jetzt einen schalter direkt durch einen http aufruf togglen ohne ein popup für die autentifizierung zu erhalten.
Kann ich user und pwd irgendwie in der url übergeben?
Lg
martin

...sent by mobile phone

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

rudolfkoenig

                                                   

> Kann ich user und pwd irgendwie in der url übergeben?

Nicht im URL, user/pw ist Teil des HTTP-Headers (BasicAuth)

Welches Programm soll es denn an FHEM user und pwd uebergeben?

Per wget geht das so:
  wget --no-check-certificate --user=myUser --password=myPassword\
        'https://fhem.dyndns.org:54321/fhem?cmd=set%20Lampe%20off'

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Danke Rudi!

nein ich wollte tatsächlich eine direkte URL aufrufen, aber wenn das
nicht geht bau ich einfach schnell ein kleines script, dass ich mit user
und pwd als parameter aufrufe und welches meine anfrage per wget an fhem
weiterleitet.

Oder gäbe es noch eine elegantere Lösung um einen direkten http befehl
an fhem abzusetzen?

Hintergrund: Will mit einem klick vom Handy einen Schalter auslösen ohne
mich irgendwo einloggen zu müssen oder eine app öffnen zu müssen. Also
link auf startbildschirm der etwas auslöst. -> durch den passwortschutz
geht das eben nicht mehr und somit die Frage...

Danke!
Martin


Am 12.12.2012 09:57, schrieb Rudolf Koenig:
>> Kann ich user und pwd irgendwie in der url übergeben?
> Nicht im URL, user/pw ist Teil des HTTP-Headers (BasicAuth)
>
> Welches Programm soll es denn an FHEM user und pwd uebergeben?
>
> Per wget geht das so:
>    wget --no-check-certificate --user=myUser --password=myPassword\
>          'https://fhem.dyndns.org:54321/fhem?cmd=set%20Lampe%20off'
>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Tobias

                                                   

Normalerweise geht das so:

http://username:mypasswd@192.168.179.1.10:8083

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Guest

Originally posted by: <email address deleted>

Hallo,

danke Rudi und Tobias!

Ähm, ja, danke, so ging das, wenn man sich auf etwas neues fixiert
vergisst man allgemeine Regeln irgendwie ständig - kommt mir vor. :-)
Schönen Abend!
Martin


Am 12.12.2012 12:22, schrieb tobias.faust:
> Normalerweise geht das so:
>
> http://username:mypasswd@192.168.179.1.10:8083
> --
> To unsubscribe from this group, send email to
> fhem-users+unsubscribe@googlegroups.com

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Hi Rudi,

sag, hast du den Beispielaufruf ev. auch noch aus Perl heraus im Kopf?
Bzw. Kann ich via perl script direkt auch fhem ansprechen, ohne über
http zu arbeiten? Also wenn perl auf der gleichen maschine ist und fhem
und die webseite auch, dann könnte ich doch irgendwie das fhem modul
ansprechen?

Ich rate mal:
use fhem;
fhem->new();
fhem("set lampe1 on");

Oder so ähnlich?


Falls das nicht geht, dann ev. über UserAgent::Simple o.ä?

Danke,
Martin


Am 12.12.2012 09:57, schrieb Rudolf Koenig:
>> Kann ich user und pwd irgendwie in der url übergeben?
> Nicht im URL, user/pw ist Teil des HTTP-Headers (BasicAuth)
>
> Welches Programm soll es denn an FHEM user und pwd uebergeben?
>
> Per wget geht das so:
>    wget --no-check-certificate --user=myUser --password=myPassword\
>          'https://fhem.dyndns.org:54321/fhem?cmd=set%20Lampe%20off'
>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

rudolfkoenig

                                                   

> Ich rate mal:
> use fhem;
> fhem->new();
> fhem("set lampe1 on");

Falsch :)

Besser:
  my $ret=`perl fhem.pl localhost:7072 "set lampe1 on"`;
fhem.pl muss dabei im Pfad sein. Oder aus fhem.pl die Zeilen bei "Client code"
rauskopieren, und daraus eine Funktion bauen. Wenn telnet-passwort aktiviert
ist, dann muss die erste uebertragene Zeile das Passwort in Klartext sein (+NL)

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

ah, okay Danke!

Mit erste Zeile passwort +NL meinst du:
  my $ret=`perl fhem.pl localhost:7072 "mypass\n\lset lampe1 on"`;

oder?
Kann ich eigentlich auch
perl pfad/fhem.pl
angeben, oder muss ich es tatsächlich in den pfad aufnehmen? Hab ich so
noch nie versucht.
Ich schau mir aber auch die client code Zeile an.

Danke!
Martin


Also nichts aus Perl direkt möglich -> aber über system-telnet bzw. perl
aufruf ist auch gut danke. Werd das so mal versuchen, klingt nicht zu
schwierig *smile*


Am 13.12.2012 17:35, schrieb Rudolf Koenig:
>> Ich rate mal:
>> use fhem;
>> fhem->new();
>> fhem("set lampe1 on");
> Falsch :)
>
> Besser:
>    my $ret=`perl fhem.pl localhost:7072 "set lampe1 on"`;
> fhem.pl muss dabei im Pfad sein. Oder aus fhem.pl die Zeilen bei "Client code"
> rauskopieren, und daraus eine Funktion bauen. Wenn telnet-passwort aktiviert
> ist, dann muss die erste uebertragene Zeile das Passwort in Klartext sein (+NL)
>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com