NEWS
Kamerasteuerung per HTTP POST request
-
Hallo Leute,
ich würde gerne meine PTZ-Kamera über iObroker steuern lassen. Um eine bestimmte Position anzufahren, wird folgender String an die Kamera per POST geschickt:
"flag=3&existFlag=1&language=cn&presetNum=9"
Wobei das presetNum die Position angibt, zu der die Kamera fahren soll. Genau diesen Call möchte ich aus iObroker auslösen. Mein Problem ist, wo schreibe ich die Parameter rein, die übermittelt werden sollen?
request.post('http://10.2.0.170/form/presetSet?_=1574768999538', function (error, response, body) { if (!error && response.statusCode == 200) { log("Horn: "+ response); } else { log("Error: " + error + response.statusCode); } }).auth('admin', 'xxxxx', false);
-
@T3rz sagte:
wo schreibe ich die Parameter rein, die übermittelt werden sollen?
In die URL per String-Verkettung.
-
@paul53 Es ist aber eine POST abfrage und keine GET
-
@T3rz sagte:
Es ist aber eine POST abfrage und keine GET
Macht das einen Unterschied bzgl. Parameter-Übergabe ?
-
@paul53 Also rein technisch schon, da der URL Parameter im Header steht. Und bei GET rechnet der Server eben damit. Und bei POST gibt es auch einen Header und die Data steht im Body.
-
@T3rz sagte in Kamerasteuerung per HTTP POST request:
request.post('http://10.2.0.170/form/presetSet?_=1574768999538', function (error, response, body) { if (!error && response.statusCode == 200) { log("Horn: "+ response); } else { log("Error: " + error + response.statusCode); } }).auth('admin', 'xxxxx', false);
https://github.com/request/request#requestoptions-callback
OptionenObject direkt an request übergeben wo die Daten drin stehen.. Je nachdem was genau die Kamera erwartet, muss eventuell noch die headeroption mit eingebaut werden oder von body auf form geändert werden..
request.post({ url: 'http://10.2.0.170/form/presetSet?_=1574768999538', body: 'flag=3&existFlag=1&language=cn&presetNum=9' }, function (error, response, body) { ...... });
Gruß