Hallo zusammen,
ich komme hier bei einem CURL-Aufruf nicht weiter.
Ich rufe innerhalb der 99_myutils.pm folgenden Befehl auf:
my $cmd = 'curl -X POST --header "Content-Type: text/plain" --header "Accept: application/json" -d "' . $timestamp1 . '" "http://192.168.178.6:8080/rest/items/Timestamp1"';
Die Übergabe soll an die REST-Schnittstelle von Openhab gehen. Dies funktioniert auch problemlos, allerdings werden Wörter mit Umlauten falsch interpretiert.
$timestamp ist dabei ein Anrufzeitpunkt aus dem Callmonitor. Wenn ich $timestamp ins Log schreibe, steht dort auch z.B. Sa, 09 Mär 2019.
Openhab zeigt aber im Log und im Item 'Sa, 09 Mär 2019 14:23:36' an. Was muss ich machen, damit die Übergabe funktioniert? Oder ist das eher auf der Seite von Openhab?
Hinweis: Wenn ich die Übergabe ohne Variable mache, also -d "März" schreibe, dann wird der Umlaut auch korrekt angezeigt.
Vielen Dank für eure Hilfe!
Sven
Ich tippe auf utf8 encoding. Jage den Inhalt Deiner Variablen vorher Mal durch den utf8 encoder. Perl encode utf8 zum suchen.
Unabhängig von dem Codierungsproblem schau dir mal die httpUtils an. Ich hatte auch erst curl im Modul vitoconnect verwendet. Der Umstieg ist einfach und die Möglichkeiten vielfältiger z.B. Non-Blocking.
Andreas
Gesendet von iPad mit Tapatalk Pro