Proplanta: HTTP / HTTPS Proxy wird nicht beachtet

Begonnen von Torxgewinde, 27 August 2023, 16:40:12

Vorheriges Thema - Nächstes Thema

Torxgewinde

Hallo,
Proplanta scheint den Proxy (attr global proxy IP:Port) nicht zu beachten. Richtet man ein Proplante-Device ein und startet ein Update der Readings, so wird der Proxy gar nicht erst kontaktiert. Testweise habe ich die Firewall konfiguriert eine IP (hier und heute: 151.106.67.104) zu der Domain www.proplanta.de zuzulassen, dann klappt es mit dieser direkten Verbindung.

Da in den Sourcen scheinbar LWP::UserAgent genutzt wird habe ich auch in die Doku geschaut: https://metacpan.org/pod/LWP::UserAgent#env_proxy Allerdings sind diese Umgebungsvariablen "http_proxy=IP:port und https_proxy=IP:port" auch bereits gesetzt.

Wenn ich "von Hand" in 59_PROPLANTA.pm folgendes einbaue, wird der Proxy genutzt und es klappt:
   ...
   my $agent    = LWP::UserAgent->new( env_proxy => 1, keep_alive => 1, protocols_allowed => ['http', 'https'], timeout => 10
                                       , agent => "Mozilla/5.0 (compatible, MSIE 11, Windows NT 6.3; Trident/7.0;  rv:11.0) like Gecko" );
   $agent->proxy(['http', 'https'], 'http://mein_proxy.box:1234/');
   my $request   = HTTP::Request->new( GET => $URL );
   ...

Wie ist der richtige Weg, oder ist das ein Bug?

Torxgewinde

Es scheint auch zu klappen, wenn man auf der Konsole:

{$ENV{https_proxy} = 'http://mein_proxy:1234'}
{$ENV{http_proxy} = 'http://mein_proxy:1234'}
eingibt.

Prüfen kann man es, wenn man "env" in die Konsole eingibt und dann im Logfile nachschaut ob die Variablen gesetzt sind.

Damit man das automatisiert machen kann, könnte man ein DOIF machen:
defmod di_Startup DOIF (0) ## Startup Befehle\
{Log(0, "🐞 di_Startup startet")}\
{$ENV{https_proxy} = 'http://mein_proxy:1234'}\
{$ENV{http_proxy} = 'http://mein_proxy:1234'}\
{Log(0, "🐞 di_Startup beendet")}
attr di_Startup do always
attr di_Startup room Global
attr di_Startup startup set $SELF cmd_1

Die Frage bleibt: Ist das der "normale" Weg, oder wäre es nicht besser wenn PROPLANTA einfach das global-Attribut für den Proxy beachtet?

Torxgewinde