Envoyer Curl Harmony via un script lua

Forum dédié aux problématiques concernant les scripts pour DomoticZ.
Entourez votre code et les logs avec les balises nommées code grâce au bouton <\>.
d3smo
Messages : 12
Inscription : 07 déc. 2016, 18:08

Envoyer Curl Harmony via un script lua

Message par d3smo »

Bonsoir, j'essaye d'envoyer un curl via un script lua, mon curl est le suivant

Code : Tout sélectionner

curl 'http://192.168.1.17:8085/api/test/lights/21/state' -X PUT -H 'Origin: http://192.168.1.17:8085' -H 'Accept-Encoding: gzip, deflate, sdch' -H 'Accept-Language: fr,en-US;q=0.8,en;q=0.6' -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36' -H 'Content-Type: application/json;charset=UTF-8' -H 'Accept: application/json, text/plain, */*' -H 'Referer: http://192.168.1.17:8085/' -H 'Connection: keep-alive' -H 'DNT: 1' --data-binary '{"on":true}' --compressed
Si je le lance dans un terminal il fait sa fonction (envoi d'une commande Harmony)

Mais je n'arrive pa à l'intégrer dans un script lua, j'ai essayé ça

Code : Tout sélectionner

runcommand = "curl 'http://192.168.1.17:8085/api/test/lights/21/state' -X PUT -H 'Origin: http://192.168.1.17:8085' -H 'Accept-Encoding: gzip, deflate, sdch' -H 'Accept-Language: fr,en-US;q=0.8,en;q=0.6' -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36' -H 'Content-Type: application/json;charset=UTF-8' -H 'Accept: application/json, text/plain, */*' -H 'Referer: http://192.168.1.17:8085/' -H 'Connection: keep-alive' -H 'DNT: 1' --data-binary '{"on":true}' --compressed";
os.execute(runcommand);
return commandArray
Mais j'ai une erreur de syntaxe à priori, sauriez vous m'aider
ppeche
Messages : 1
Inscription : 13 déc. 2016, 13:58

Re: Envoyer Curl Harmony via un script lua

Message par ppeche »

Hello,

Je ne sais pas si je vais t'aider mais je tenterai d'encadrer le tout en simple quote ' et de mettre le caractère d'échappement \ devant toutes les quotes à l'intérieur.
je n'y crois pas trop mais ça se tente.

Code : Tout sélectionner

runcommand = 'curl \'http://192.168.1.17:8085/api/test/lights/21/state\' -X PUT -H \'Origin: http://192.168.1.17:8085\' -H \'Accept-Encoding: gzip, deflate, sdch\' -H \'Accept-Language: fr,en-US;q=0.8,en;q=0.6\' -H \'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36\' -H \'Content-Type: application/json;charset=UTF-8\' -H \'Accept: application/json, text/plain, */*\' -H \'Referer: http://192.168.1.17:8085/\' -H \'Connection: keep-alive\' -H \'DNT: 1\' --data-binary \'{"on":true}\' --compressed'
De plus il n'y a pas à ma connaissance de ; en fin de ligne en LUA.
d3smo
Messages : 12
Inscription : 07 déc. 2016, 18:08

Re: Envoyer Curl Harmony via un script lua

Message par d3smo »

Je suis arrivé à le faire fonctionner en les appellant depuis un script principal et en les laissant tel quel
Répondre