[HTTPMOD gelöst]Internal httpheader wird nicht mehr angezeigt

Begonnen von Raemsna, 28 April 2021, 18:45:45

Vorheriges Thema - Nächstes Thema

Raemsna

Hallo zusammen,

ich habe vor kurzem meine Installation auf Raspbian Buster umgezogen und entsprechend alle Updates Neu gemacht (hatte davor eine sicherlich deutlich ältere Version von HTTPMOD verwendet).

In meiner alten Umgebung habe ich in folgendem Device ein Internal "httpheader" angezeigt bekommen, von dem ich mir Cookie Informationen extrahiert habe (die ich weiterverarbeite).

Nach dem Umzug auf die aktuelle HTTPMOD Version bekomme ich das internal "httpheader" *NICHT* mehr angezeigt. Entsprechend kann ich mir die Informationen nicht mehr aus dem Internal ziehen.

Ich habe in der Commandref kein Attribut gefunden, um das Internal "httpheader" wieder anzuschalten. Nur den Body der Antwort kann ich mir anzeigen lassen, aber das hilft mir nichts.

Ich bin (mal wieder) für jeden Tipp dankbar ! :)

List
defmod HTTP_Kachelmann HTTPMOD https://kachelmannwetter.com/de/stormtracking/bayern 900
attr HTTP_Kachelmann userattr blacklist get01RegOpt search singleMsg telegram
attr HTTP_Kachelmann DbLogExclude .*
attr HTTP_Kachelmann enableControlSet 1
attr HTTP_Kachelmann enableCookies 1
attr HTTP_Kachelmann event-on-change-reading .*
attr HTTP_Kachelmann get01Name Bayern_Sturm
attr HTTP_Kachelmann get01Poll 1
attr HTTP_Kachelmann get01Regex (https:\/\/img.*\/data\/cache\/storms.*\.png)
attr HTTP_Kachelmann get02Name PAF_Regen
attr HTTP_Kachelmann get02Poll 1
attr HTTP_Kachelmann get02Regex (https:\/\/img.*\/data\/cache\/.*\.png)
attr HTTP_Kachelmann get02URL https://kachelmannwetter.com/de/regenradar/pfaffenhofen
attr HTTP_Kachelmann get03Name Bayern_Regen
attr HTTP_Kachelmann get03Poll 1
attr HTTP_Kachelmann get03Regex (https:\/\/img.*\/data\/cache\/.*\.png)
attr HTTP_Kachelmann get03URL https://kachelmannwetter.com/de/regenradar/bayern
attr HTTP_Kachelmann handleRedirects 1
attr HTTP_Kachelmann room Z_Disabled
attr HTTP_Kachelmann search 0
attr HTTP_Kachelmann showBody 0
attr HTTP_Kachelmann singleMsg 0
attr HTTP_Kachelmann telegram ***********
attr HTTP_Kachelmann timeout 7
attr HTTP_Kachelmann userReadings __cfduid {\
my $persInternal = InternalVal("HTTP_Kachelmann","httpheader","none");;\
$persInternal =~ /__cfduid=(.*?)\;;/;;\
return $1;;\
},\
\
_csrf_image {\
my $persInternal = InternalVal("HTTP_Kachelmann","httpheader","none");;\
$persInternal =~ /_csrf_image=(.*?)\;;/;;\
return $1;;\
},\
\
_csrf {\
my $persInternal = InternalVal("HTTP_Kachelmann","httpheader","none");;\
$persInternal =~ /_csrf=(.*?)\;;/;;\
return $1;;\
}

setstate HTTP_Kachelmann 2021-04-28 18:37:34 Bayern_Regen https://img4.kachelmannwetter.com/images/data/cache/px250/complete_px250-de-310-1_2021_04_28_38_1630.png
setstate HTTP_Kachelmann 2021-04-28 18:35:08 Bayern_Sturm https://img4.kachelmannwetter.com/images/data/cache/storms/complete_storms_2021_04_28_16_30_38_630.png
setstate HTTP_Kachelmann 2021-04-28 18:35:09 PAF_Regen https://img4.kachelmannwetter.com/images/data/cache/px250/complete_px250-de-310-1_2021_04_28_288_1630.png
setstate HTTP_Kachelmann 2021-04-28 18:35:08 __cfduid 4
setstate HTTP_Kachelmann 2021-04-28 18:35:08 _csrf 4
setstate HTTP_Kachelmann 2021-04-28 18:35:08 _csrf_image 4




Edith:
Alternative Frage:
Gibt es eine Möglichkeit mit HTTPMOD die Cookie Informationen zu speichern / in ein Reading zu schreiben?

Raemsna

Update:
Ich habe nun auf eine "veraltete" Version von HTTPMOD aus meinem Backup zurückgespielt.
Ergebnis: Internal ist wieder da und die Cookie Informationen können wieder extrahiert und weiterverarbeitet werden.

Frage: Gibt es eine Möglichkeit diese "verlorenen" Internals wieder (per attr oder so) in den aktuellen Versionen zu aktivieren?

defmod HTTP_Kachelmann HTTPMOD https://kachelmannwetter.com/de/stormtracking/bayern 900
attr HTTP_Kachelmann userattr blacklist get01Name get01Poll:0,1 get01RegOpt get01Regex get02Name get02Poll:0,1 get02Regex get02URL get03Name get03Poll:0,1 get03Regex get03URL search singleMsg telegram
attr HTTP_Kachelmann DbLogExclude .*
attr HTTP_Kachelmann enableControlSet 1
attr HTTP_Kachelmann enableCookies 1
attr HTTP_Kachelmann event-on-change-reading .*
attr HTTP_Kachelmann get01Name Bayern_Sturm
attr HTTP_Kachelmann get01Poll 1
attr HTTP_Kachelmann get01Regex (https:\/\/img.*\/data\/cache\/storms.*\.png)
attr HTTP_Kachelmann get02Name PAF_Regen
attr HTTP_Kachelmann get02Poll 1
attr HTTP_Kachelmann get02Regex (https:\/\/img.*\/data\/cache\/.*\.png)
attr HTTP_Kachelmann get02URL https://kachelmannwetter.com/de/regenradar/pfaffenhofen
attr HTTP_Kachelmann get03Name Bayern_Regen
attr HTTP_Kachelmann get03Poll 1
attr HTTP_Kachelmann get03Regex (https:\/\/img.*\/data\/cache\/.*\.png)
attr HTTP_Kachelmann get03URL https://kachelmannwetter.com/de/regenradar/bayern
attr HTTP_Kachelmann handleRedirects 1
attr HTTP_Kachelmann room Z_Disabled
attr HTTP_Kachelmann search 0
attr HTTP_Kachelmann showBody 0
attr HTTP_Kachelmann singleMsg 0
attr HTTP_Kachelmann telegram ?????
attr HTTP_Kachelmann timeout 7
attr HTTP_Kachelmann userReadings __cfduid {\
my $persInternal = InternalVal("HTTP_Kachelmann","httpheader","none");;\
$persInternal =~ /__cfduid=(.*?)\;;/;;\
return $1;;\
},\
\
_csrf_image {\
my $persInternal = InternalVal("HTTP_Kachelmann","httpheader","none");;\
$persInternal =~ /_csrf_image=(.*?)\;;/;;\
return $1;;\
},\
\
_csrf {\
my $persInternal = InternalVal("HTTP_Kachelmann","httpheader","none");;\
$persInternal =~ /_csrf=(.*?)\;;/;;\
return $1;;\
}

setstate HTTP_Kachelmann 2021-04-28 21:11:33 Bayern_Regen https://img3.kachelmannwetter.com/images/data/cache/px250/complete_px250-de-310-1_2021_04_28_38_1905.png
setstate HTTP_Kachelmann 2021-04-28 21:11:32 Bayern_Sturm https://img2.kachelmannwetter.com/images/data/cache/storms/complete_storms_2021_04_28_19_05_38_630.png
setstate HTTP_Kachelmann 2021-04-28 21:11:32 PAF_Regen https://img2.kachelmannwetter.com/images/data/cache/px250/complete_px250-de-310-1_2021_04_28_288_1905.png
setstate HTTP_Kachelmann 2021-04-28 21:11:31 __cfduid d558d4526b5019bb6562da36a375121911619637088
setstate HTTP_Kachelmann 2021-04-28 21:11:31 _csrf 6e2f3488a61158416061369d011f406774c4319635c205655b8ba663bd3ce815a%3A2%3A%7Bi%3A0%3Bs%3A5%3A%22_csrf%22%3Bi%3A1%3Bs%3A32%3A%22R_TS32G3IaC90M1sFoa1_6EvIG1BTIdE%22%3B%7D
setstate HTTP_Kachelmann 2021-04-28 21:11:33 _csrf_image 56ca86637b71beb935ac910198f5bc3ea079703970a4d3cfd62e1e8eed229aa4a%3A2%3A%7Bi%3A0%3Bs%3A11%3A%22_csrf_image%22%3Bi%3A1%3Bs%3A40%3A%22a5385376097e64a899fe92b814c874b7d3f0175b%22%3B%7D


StefanStrobel

Hallo,

die Internals von den Httputils sind beim letzten größeren Update verschoben worden.
Siehe #957 https://forum.fhem.de/index.php/topic,45176.945.html

oder auch #1025

Das frühere internal httpheader und alle anderen Internals, die von den Httputils gesetzt werden, sind aber weiterhin als z.B. $hash->{HttpUtils}{httpheader} erreichbar.

Gruß
    Stefan

Raemsna

Vielen Dank!
Dann werde ich meinen Code entsprechend (versuchen) anzupassen :)