NEWS
[Gelöst] Problem mit URL Request: "Error: self signed certificate"
-
Hallo zusammen,
ich möchte gerne in einem Skript eine URL Aufrufen lassen.
Das Skript dazu bekomme ich auch gebaut, allerdings scheints Probleme mit dem "https" zu geben.
Ich bekomme als error im log "Error: self signed certificate"
Die URL die ausgeführt wird, gehört zu einer webcam, die für den SSL Zugriff offenbar ein selbstsigniertes Zertifikat verwendet. Zugriff ohne SSL lässt sich leider nicht aktivieren.
Gibt es eine Möglichkeit iobroker dazu zu bringen auch diese Zertifikate zu akzeptieren?
-
Ich habe mal für dich gegoogelt … Erstes Ergebnis: https://stackoverflow.com/questions/108 ... ps-request
-
Danke!
Leider komm ich damit auch nicht weiter. Habe nun folgenden Code:
on({id: 'mihome.0.devices.switch_158d0002107b85.click', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("mihome.0.devices.switch_158d0002107b85.click").val == true) { var request = require("request"); var agentOptions; var agent; agentOptions = { host: '192.168.178.161' , port: '443' , path: '/' , rejectUnauthorized: false }; agent = new https.Agent(agentOptions); request({ url: "https://192.168.178.161/cgi-bin/action.cgi?cmd=ir_led_off" , method: 'GET' , agent: agent }, function (err, resp, body) { // ... }); } });Bekomme aber damit folgenden Fehler:
javascript.0 2018-08-22 08:27:56.627 error at Object. <anonymous>(script.js.Cam.Skript2:16:13)
javascript.0 2018-08-22 08:27:56.627 error Error in callback: ReferenceError: https is not defined
Jemand noch eine Idee, was ich falsch mache?</anonymous>
-
Wirklich echt super, dass ihr mir auf die Sprünge helft!!
Sorry, ich bin totaler Neuanfänger mit Javascript.
Ich hab die Zeilen jetzt so eingebaut:
const https = require("https"); on({id: 'javascript.0.Alarm', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("javascript.0.Alarm").val == true) { var request = require("request"); var agentOptions; var agent; agentOptions = { host: '192.168.178.161' , port: '443' , path: '/' , rejectUnauthorized: false }; agent = new https.Agent(agentOptions); request({ url: "https://192.168.178.161/cgi-bin/action.cgi?cmd=ir_led_off" , method: 'GET' , agent: agent }, function (err, resp, body) { if (err) log(JSON.stringify(err)); if (resp) log(JSON.stringify(resp)); }); } });Bekomme aber keinen log Eintrag.
-
Der Request wird offenbar doch ausgeführt. Aber ich bekomme die Rückmeldung 401, da ich auch noch ganz vergessen hatte, dass die http Oberfläche durch Zugangsdaten gesperrt ist.
Mit der angepassten url: https://user:password@192.x usw. hats dann funktioniert!
Nochmal vielen Dank euch für die Hilfe!!!