[erledigt] Wahrscheinlich sehe ich den Wald vor Bäumen nicht...

Begonnen von betateilchen, 30 Januar 2015, 19:21:49

Vorheriges Thema - Nächstes Thema

betateilchen

Wie finde ich in fhem heraus, über welche URL fhem vom Anwender aufgerufen wurde?

Also beispielsweise das hier:

http://cubie.betateilchen.de:8083/fhem

Wozu? Ich muss innerhalb von fhem absolute urls generieren, die auf fhem zeigen.



edit: erledigt.



sub GDS_getURL {
  my $name = `hostname`;
  chop($name);
  my $proto = (AttrVal($FW_wname, 'HTTPS', 0) == 1) ? 'https' : 'http';
  return $proto."://$name:" . $defs{$FW_wname}{PORT} . $FW_ME;
}

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

rudolfkoenig

Deine Loesung funktioniert, wenn client und Server ueber den Hostnamen einig sind, und kein Proxy dazwischenkommt. Sonst kann man nach dem HTTP-Header fragen:
{ $FW_httpheader{Host} }
{ join("\n", @FW_httpheader) }

Fuer das Protokoll (http vs https) habe ich aber keine bessere Loesung.

betateilchen

Dankeschön :)

FW_httpheader{Host} ist genau das, was ich brauche.

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!