Hallo Rudi,
ich habe eine kleine Korrektur für das HttpUtils Modul, da die Auswertung der Redirects nicht ganz RFC Konform war.
Leider wurde ein kleingeschriebenes "location:" Header Feld ignoriert. Das kommt aber leider doch vor, dass Header auch mal mit kleinen Buchstaben beginnen.
Da ich die Spezifikation der Header Felder ein wenig genauer studiert habe, wurde die Regex ebenfalls angepasst um Leerzeichen am Ende zu ignorieren.
header-field = field-name ":" OWS field-value OWS
Den Namen des Headers, habe ich mit ^ nach dem Beginn suchen lassen, damit nicht Content-Location oder sonstige Header in denen Location vorkommt ausgewertet werden. Leereichen sind laut Spezifikation keine erlaubt vor dem Header Namen.
Ich hätte das map fast noch auf grep umgestellt, aber das hat nichts mit dem gefundenen Problem zu tun.
Als Referenz hier noch die Logeinträge, in denen nachvollziehbar ist, dass der Redirect nicht korrekt ausgewertet wird und wir dann auch an der falschen URL landen:
2020.03.28 00:07:54.730 4: HttpUtils https://github.com/RFD-FHEM/SIGNALDuino/releases/download/3.3.1/SIGNALDuino_ESP8266cc11013.3.1.hex: Redirect to https://github.com:443/
2020.03.28 00:07:54.729 1: main::__ANON__ called by fhem.pl (754)
2020.03.28 00:07:54.729 1: main::HttpUtils_ParseAnswer called by FHEM/HttpUtils.pm (633)
2020.03.28 00:07:54.729 1: main::__ANON__ called by FHEM/HttpUtils.pm (867)
2020.03.28 00:07:54.728 1: stacktrace:
2020.03.28 00:07:54.728 1: PERL WARNING: Use of uninitialized value $ra in concatenation (.) or string at FHEM/HttpUtils.pm line 867.
2020.03.28 00:07:54.727 1: main::__ANON__ called by fhem.pl (754)
2020.03.28 00:07:54.727 1: main::HttpUtils_ParseAnswer called by FHEM/HttpUtils.pm (633)
2020.03.28 00:07:54.726 1: main::__ANON__ called by FHEM/HttpUtils.pm (867)
2020.03.28 00:07:54.726 1: stacktrace:
2020.03.28 00:07:54.726 1: PERL WARNING: Use of uninitialized value $ra in pattern match (m//) at FHEM/HttpUtils.pm line 867.
2020.03.28 00:07:54.725 1: main::__ANON__ called by fhem.pl (754)
2020.03.28 00:07:54.725 1: main::HttpUtils_ParseAnswer called by FHEM/HttpUtils.pm (633)
2020.03.28 00:07:54.724 1: main::__ANON__ called by FHEM/HttpUtils.pm (867)
2020.03.28 00:07:54.724 1: stacktrace:
2020.03.28 00:07:54.723 1: PERL WARNING: Use of uninitialized value $ra in pattern match (m//) at FHEM/HttpUtils.pm line 867.
2020.03.28 00:07:54.722 4: https://github.com/RFD-FHEM/SIGNALDuino/releases/download/3.3.1/SIGNALDuino_ESP8266cc11013.3.1.hex: HTTP response code 302
Grüße Sidey
Zitatich habe eine kleine Korrektur für das HttpUtils Modul, da die Auswertung der Redirects nicht ganz RFC Konform war.
Na dann zeig das auch, dein angehaengter Patch ist was ganz Anderes :)
Ich habe aus deiner Beschreibung was zusammengebastelt, vlt. ist das ausreichend.
Moin,
war schon spät, da bin ich doch verrutscht und hab es auch nicht bemerkt.
Anhang ist im 1. Post korrigiert.
Grüße Sidey
Danke, entspricht meiner Variante.