NEWS
Daten an einen Webserver schicken
-
Hallo habe ein Script geschrieben um eine Nachricht an einen Webserver zu schicken.
Vom Explorer kann ich es mit
http://192.168.178.230/white/0?turn=on
einschalten. und sehe die Botschaft in w*reShark auch.Habe es mit diesem Befehl versucht. Da sehe ich auf w*reShark nichts. Statusmeldungen im Log sehen gut aus es wird aber nichts gesendet.
createState("javascript.0.Send_TCP", 0); // Generiert beim starten den Datenpunkt, wenn nicht vorhanden var net = require('net'); function sendMessage(host, port, message) { var client = net.connect({host:host, port: port}, function () { // 'connect' listener console.log(net + 'connected to server!' + host +':'+ port + message); client.write(message); }); client.on('data', function (data) { console.log(data.toString()); client.end(); }); client.on('end', function () { console.log('disconnected from server'); }); client.on('error', function (error) { console.error('error: ' + error); client.end(); }); } // Ab hier automatisch on({id: "javascript.0.Send_TCP", change: 'any'}, function (obj) { sendMessage('192.168.178.230', 80, 'GET /white/0?turn=off HTTP/1.1\r\n'); log("Send GET /white/0?turn=off HTTP/1.1\r\n", "info"); } );
Hat jemand einen Tip?
-
@jj_1 schau dir axios mal an
-
@arteck
hast du mal ein beispiel? -
@jj_1
Kann esd damit zu tun haben
var net = require('net');muss ich da noch ein Modul laden?
-
du schon wieder
nimm die bibliothek request
die ist in iobroker bereits installiertvar request = require('request'); const options = { url: 'http://192.168.178.230/white/0?turn=on', method: 'GET' }; request(options,function (error, response, body){ error && console.log('error:'+error); response && console.log('response:'+response); body && console.log('body:'+body); });
wenn du es im browser sendest, dann geh ich davon aus, das du es in die Adresszeile geschrieben hast? Dann ist es die Methode GET.
Wenn du dir ein Formular gebastelt hast, dann ist es die Methode POSTDer Link sieht nach shelly aus.
Ich glaube es gibt hier ein Adapter der shelly kann.
Das ist einfacher -
@oliverio
Super danke.
So funktioniert es.
Ja du hast recht das ist für die Shellys. Den Adapter habe ich auch schon drin.
Nur zum Testen brauche es für eine Andere Funktion. Die Shellys sind nur so schön einfach zum üben.
Gruß jj -
@oliverio request ist aber depricated... deshalb axios.. ist auch im package von iobroker
-
@arteck sagte in Daten an einen Webserver schicken:
@oliverio request ist aber depricated... deshalb axios.. ist auch im package von iobroker
ja stimmt, ach axios ist schon mit drin?
dann in Zukunft nur noch axios