Bonjour,
J'utilise beaucoup le shell BASH et l'API/JSON pour ma programmation sur DOMOTICZ.
tous les envois par CURL sont du style:
curl -s "http://login:MoDePasse@127.0.0.1:8080/json.xlm? suivi de diverses commandes"
Je voulais faire ceci
#!/bin/bash
login="http://login:MoDePasse@127.0.0.1:8080/json.xlm?"
curl -s '$login'suivi de diverses commandes'
et donc ne pas a avoir à recopier la première partie un peu fastidieuse.
J'ai essayé avec ${login}, avec simple cote, double cote, ...
Au mieux il ne se passe rien, sinon il est renvoyé:<html><head><title>Not Found</title></head><body><h1>404 Not Found</h1></body></html>
La suite serait d’enregistrer dans un fichier le "login", pour pouvoir le récupérer facilement dans chaque script et aussi simplifier la modification du login et du mot de passe.
Je ne comprend pas pourquoi cela ne fonctionne pas.
Si vous avez une explication elle sera la bienvenue.
[RESOLU]curl avec une variable commo URL
[RESOLU]curl avec une variable commo URL
Dernière modification par valdoison le 09 févr. 2016, 11:57, modifié 1 fois.
Domoticz sur serveur UBUNTU 18.04 - Controleur Zwave+ - 7 detecteurs FGMS 001 - 1 télécommande NODON - 1 sirene SE812 - 3 modules AN157 - 1 detecteur ST814 - 1 vanne danfoss LC13 - 1 detecteur de fumée SF812
Re: curl avec une variable commo URL
curl -s "${login}suivi de diverses commandes" devrait marcher:
- pas de quote pour ${login} qui, avec cette syntaxe, peut-être inséré n'importe ou
- par contre surtout pas de simple quote dans le paramètre de curl car il demande justement explicitement au shell de ne pas substituer et de prendre la chaîne de caractère telle quelle.
Sache aussi qu'en shell tu peux utiliser des fonctions et les "sourcer" (source <filename>) dans différents scripts.
- pas de quote pour ${login} qui, avec cette syntaxe, peut-être inséré n'importe ou
- par contre surtout pas de simple quote dans le paramètre de curl car il demande justement explicitement au shell de ne pas substituer et de prendre la chaîne de caractère telle quelle.
Sache aussi qu'en shell tu peux utiliser des fonctions et les "sourcer" (source <filename>) dans différents scripts.
Raspberry Pi 2 + carte RF pi "maison" + Domoticz
Sonde Oregon + Aliexpress - Prises Chacon (3500W) - 1wire DS18B20
Sonde Oregon + Aliexpress - Prises Chacon (3500W) - 1wire DS18B20
Re: curl avec une variable comme URL
A priori cela ne fonctionne pas.
La réponse est:<html><head><title>Not Found</title></head><body><h1>404 Not Found</h1></body></html> et le périphérique ne change pas de status.
La réponse est:<html><head><title>Not Found</title></head><body><h1>404 Not Found</h1></body></html> et le périphérique ne change pas de status.
Domoticz sur serveur UBUNTU 18.04 - Controleur Zwave+ - 7 detecteurs FGMS 001 - 1 télécommande NODON - 1 sirene SE812 - 3 modules AN157 - 1 detecteur ST814 - 1 vanne danfoss LC13 - 1 detecteur de fumée SF812
Re: curl avec une variable commo URL
C'est pas plutôt/json.xlm?
Code : Tout sélectionner
/json.htm?Re: curl avec une variable commo URL
Une erreur de frappe.....
Merci, ça fonctionne.
Merci, ça fonctionne.
Domoticz sur serveur UBUNTU 18.04 - Controleur Zwave+ - 7 detecteurs FGMS 001 - 1 télécommande NODON - 1 sirene SE812 - 3 modules AN157 - 1 detecteur ST814 - 1 vanne danfoss LC13 - 1 detecteur de fumée SF812