Hallo,
Ich habe ein Homecenter 3 lite und möchte per HTTPClient einen „PUT“ - request an einen anderen Client senden.
Im HCL (2) habe ich das über ein virtuelles Modul gelöst.
Im Browser kann ich z.B folgende URL eingeben:
http://192.168.178.70:3777/hook/hc3l.php?Test=1
.
Damit kann ich den Parameter Test=1 sauber auswerten.
Nun versuche ich in einem Lua-Script über HTTPClient diese Meldung abzusetzen. Leider bin ich da relativ erfolglos.
Tabelle = {ID = 44, Status = true, Power = 20, Energy = 2.601, Test = 1}
JTabelle = json.encode(Tabelle)
selfhttp = net.HTTPClient()
url = 'http://192.168.178.70:3777/hook/hc3l.php'
sendData = JTabelle
header = {
["content-type"] = 'application/x-www-form-urlencoded; charset: UTF-8',
["content-type"] = "application/json"
}
selfhttp:request(url, {
options = {
method = 'PUT',
headers = header,
data = sendData,
timeout = 5000
},
success = function(response)
print('response data: '..response.data)
print('response status: '..response.status)
end,
})
Das aufgerufene PHP-Script wird ausgeführt und die Ausgaben des Programms werden über „success“ (response.data) zurückgemeldet. „response.status“ ist 200
Leider werden die übergebenen Daten nicht im Programm erkannt. Auch einfachere Datenpakete kommen nicht an (z.B. ‚{Test = 1}‘).
Ich habe alternativ auch diese vereinfachte Version versucht:
local http = net.HTTPClient()
http:request('http://192.168.178.70:3777/hook/hc3l.php?Test=24', {
success = function(response)
print('response data: '..response.data)
print('response status: '..response.status)
end,
})
Leider mit dem gleichen (negativen) Ergebnis.
Kann mir hier jemand helfen, wie ich die Daten übergeben kann?
vielen Dank
cervicor