Hallo zusammen,
ich komme gerade an meinem Modul nicht weiter. Ich brauche für eine Abfrage ein erzeugtes Antiforgerycookie
Ich komme mit der Reihenfolge der Verarbeitung aber nicht klar. Was ich bisher habe - hier zum Debuggen:
...
}elsif( $cmd eq "TEST" ) {
print "1\n";
my $saunaid = AttrVal($name, "saunaid", "");
my $aspxauth = $hash->{KLAFS}->{cookie};
my $header = "Cookie: $aspxauth";
my $datauser = "s=$saunaid";
HttpUtils_NonblockingGet({
url => ENTERPIN,
timeout => 5,
hash => $hash,
method => "GET",
header => $header,
data => $datauser,
callback => \&Klafs_GETantiforgery1,
});
# RequestVerificationToken aus dem Header auslesen fuer das Cookie
sub Klafs_GETantiforgery1($) {
my ($param, $err, $data) = @_;
my $hash = $param->{hash};
my $name = $hash->{NAME};
my $header = $param->{httpheader};
Log3 $name, 5, "header: $header";
Log3 $name, 5, "Data: $data";
Log3 $name, 5, "Error: $err";
print "AntiForgery GET\n";
foreach my $cookie ($header =~ m/set-cookie: ?(.*)/gi) {
$cookie =~ /([^,; ]+)=([^,;\s\v]+)[;,\s\v]*([^\v]*)/;
my $antiforgery = $1 . "=" .$2 .";";
Log3 $name, 4, "AntiforgeryGet: $antiforgery";
Log3 $name, 5, "$name: Antiforgery found: $antiforgery";
$hash->{KLAFS}->{antiforgery} = $antiforgery;
}
}
print "2\n";
}
Als Ausgabe im Log kommt die Reihenfolge:
1
2
AntiForgery GET
2022.05.06 16:28:07 4: AntiforgeryGet: __RequestVerificationToken=uXch_rxxxxxxxxxxxxxxxx......
An Position 2 muss ich das neue Cookie ($hash->{KLAFS}->{antiforgery) verwenden. Es ist dort aber noch nicht vorhanden. Kommt laut Log erst später.
Was muss ich denn hier beachten?
Grüße
Alex