Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Est-il possible de lister les évènements ?
#14
bon j'avais répondu direct, mais un crash de firefox a eu raison de moi. Donc je reviens avec du retard Smile

La premiére chose qu'il faut savoir, c'est que lorsque tu utilises une API web, comme c'est le cas ici pour envoyer un sms, la machine fait une requête web pour toi. De la même maniére que si tu tappais dans la barre d'adresse d'un navigateur toi meme. A une seule différence, c'est que toi quand tu tappes, tu écris et le navigateur transforme l'url que tu tappes, il l'encode. Pour que par exemple les espaces soient tous remplacés par des charactéres que le serveur distant pourra interpreter correctement.

C'est ainsi que si tu tappes dans google une recherche comme celle la :
calaos c'est bien ?
l'url utilisée est : https://www.google.fr/?gws_rd=ssl#q=cala...t+bien+%3F
le ? est remplacé par un %3F le ' est remplacé par un %27
ce sont leur valeurs dans la table ascii : http://www.asciitable.com/

Ainsi si tu veux envoyer un message bien particulier par sms via l'api de free, il faudra également l'encoder.
Si tu veux regarder ce que ca donne en ligne tu peux regarder ceci : http://www.url-encode-decode.com/
et essayer avec diffférents messages.
C'est exactement ce que fait la fonction urlencode

Elle prends en entrée de la fonction une chaîne de caractére non encodé, et elle retourne en sortie une chaîne encodée.
Ainsi a chaque fois que tu apelles la fonction chaine_encode = urlencode(chaine_non_encode) le résultat encode sera stocké dans la variable chaine_encode.

Je ne rentrerai pas forcément dans le détail de la fonction en elle meme, tu peux regarder ici http://lua-users.org/wiki/StringLibraryTutorial pour un tutorial sur l'utilisation des chaines de charactéres dans lua. il y a par exemple l'utilisation de gsub

Ce n'est pas moi qui ait écris ce script, et j'avoue que je ne comprends pas toutes les subtilités de la fonction urlencode.

Une chose a savoir quand meme sur les string en lua, c'est que pour concatener des chaines, tu peux utiliser l'opérateur ..

ainsi si tu fait str = "Hello" .. "World"
le contenu de str sera HelloWorld

Dans notre cas, on va donc avoir la chaîne passée a calaos:requestUrl qui sera la concaténation des différentes strings et contiendra au final quelque chose comme ceci :
<code>
https://smsapi.free-mobile.fr/sendmsg?us...2C5%C2%B0C
</code>

le dernier return, permet de savoir a calaos si le script a rencontré une erreur (si on retourne false) ou non (si on retourne true). Je ne sais plus ce que ca veux dire, je retourne toujours true Smile
Calaos v2 sur Rpi et MeleA1000 | Eco Device | IPX800 | Karotz | 1Wire | Relais GPIO | Squeezebox
Reply


Messages In This Thread
RE: Est-il possible de lister les évènements ? - by captainigloo - 09-22-2015, 12:27 AM

Forum Jump:


Users browsing this thread: 1 Guest(s)