FHEM Forum

FHEM - Entwicklung => FHEM Development => Thema gestartet von: betateilchen am 30 Januar 2015, 19:21:49

Titel: [erledigt] Wahrscheinlich sehe ich den Wald vor Bäumen nicht...
Beitrag von: betateilchen am 30 Januar 2015, 19:21:49
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;
}

Titel: Antw:[erledigt] Wahrscheinlich sehe ich den Wald vor Bäumen nicht...
Beitrag von: rudolfkoenig am 31 Januar 2015, 09:29:50
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.
Titel: Antw:[erledigt] Wahrscheinlich sehe ich den Wald vor Bäumen nicht...
Beitrag von: betateilchen am 31 Januar 2015, 11:13:06
Dankeschön :)

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