Recevoir des SMS en Python
Ce document vous fournit des informations utiles sur la manière de recevoir les messages via la passerelle SMS dans votre application Python. L'exemple Python SMS montre comment collecter les messages depuis votre dossier de réception via des requêtes HTTP et comment les rendre disponibles pour une utilisation ultérieure. Cette page contient un tutoriel vidéo et un guide étape par étape qui ne prend pas plus de cinq minutes à compléter. Commençons dès maintenant !
Qu'est-ce qu'une API SMS Python ?
L'API SMS Python permet d'envoyer des messages SMS depuis un script Python. En utilisant cette API SMS Python, votre script Python peut envoyer des requêtes HTTP à la passerelle SMS qui envoie le message SMS.
Prérequis
Recevoir des SMS en Python
- Ouvrez l'application Bloc-notes
- Copiez-collez le code exemple de cette page
- Enregistrez le fichier sous ReceiveSMS.py
- Ouvrez la passerelle SMS Ozeki et sélectionnez la connexion serveur HTTP
- Ouvrez le formulaire HTML de la connexion serveur HTTP
- Envoyez quelques messages de test
- Ouvrez l'Invite de commandes
- Tapez 'python ReceiveSMS.py' dans l'Invite de commandes et appuyez sur Entrée
Le code source Python SMS ci-dessous est libre d'utilisation dans vos projets et vous pouvez également le modifier pour l'adapter à votre solution. Le code initie une requête HTTP pour récupérer les messages depuis la passerelle SMS. Pour tester l'exemple, suivez simplement les instructions ci-dessous ou regardez le tutoriel vidéo qui démontre clairement toutes les étapes à suivre pour exécuter le script Python SMS sur votre ordinateur.
import requests import ssl import xml.etree.ElementTree as ET def main(): username = "john" password = "Xc3ffs" httpUrl = "https://127.0.0.1:9508/" folder = "inbox"; limit = "3"; sendString = (httpUrl + "api?action=receivemessage&username=" + username + "&password=" + password + "&folder=" + folder + "&limit=" + limit + "&afterdownload=delete") print("Sending html request: " + sendString + "\n") requests.packages.urllib3.disable_warnings() response = requests.get(sendString, verify=False) print("Http response received: ") DisplayMessages(response.text) def DisplayMessages(response): root = ET.fromstring(response) if root.findall('data/message/*') == []: print('The inbox is empty') return for child in root.findall('data/message'): sender = child.find('originator').text text = child.find('messagedata').text DisplayMessage(sender, text) def DisplayMessage(sender, text): print(sender + ": " + text) if __name__=="__main__": main()
Étape 1 - Ouvrir le Bloc-notes
La première étape de ce guide consiste à ouvrir le Bloc-notes sur votre ordinateur. Cette application est nécessaire pour créer le fichier Python que vous exécuterez à la fin du guide. Comme le montre la Figure 1, cliquez simplement sur l'icône de l'application Bloc-notes sur le bureau pour l'ouvrir.
Étape 2 - Copier le code Python
Ensuite, vous devez récupérer le script Python exemple depuis cette page. C'est une tâche facile puisque vous avez simplement besoin de le copier. Pour ce faire, allez au code exemple sur cette page, sélectionnez tout le code source, et comme dans la Figure 2, appuyez sur Ctrl+C sur votre clavier. Cette action copie le code source dans votre presse-papiers et le rend prêt à être placé dans un fichier texte.
Étape 3 - Coller le code dans un fichier texte
Ensuite, vous devez coller le code source Python dans le document texte que vous avez ouvert à l'Étape 1. Cette action peut être réalisée en utilisant le raccourci Ctrl+V qui colle le code source dans le fichier texte depuis le presse-papiers. Si vous l'avez fait correctement, le code Python sera dans le fichier texte comme le montre la Figure 3.
Étape 4 - Enregistrez le texte en tant que fichier Python
À ce stade, vous avez un fichier texte contenant le code source, mais il n'est pas encore dans le bon format de fichier. Notepad peut enregistrer des fichiers dans n'importe quel format, vous pouvez donc résoudre ce problème assez facilement. Sélectionnez l'option 'Enregistrer sous' dans Notepad et enregistrez le fichier avec l'extension '.py'. Cette procédure est démontrée dans la Figure 4.
Étape 5 - Ouvrir l'Invite de commandes
Maintenant, le script Python est prêt à être utilisé, mais vous avez besoin d'un environnement pour exécuter le script. À cette fin, vous pouvez simplement utiliser l'Invite de commandes. Pour l'ouvrir, naviguez simplement vers le dossier où vous avez enregistré le fichier Python avec l'Explorateur de fichiers, et comme dans la Figure 5, tapez 'cmd' dans la barre d'adresse de l'Explorateur de fichiers. Si vous appuyez sur Entrée, l'Invite de commandes s'affiche dans une nouvelle fenêtre.
Étape 6 - Envoyer quelques messages de test
Après avoir configuré le fichier Python, vous avez besoin de quelques messages dans votre dossier de réception. Pour terminer le test rapidement, vous pouvez simuler des messages entrants avec la connexion HTTP Server dans SMS Gateway. Si vous n'avez pas encore configuré cette connexion, vous pouvez voir comment configurer une connexion HTTP Server. Ouvrez donc le SMS Gateway et sélectionnez la connexion HTTP Server. Dans le menu de la connexion, ouvrez le formulaire HTML (Figure 6). Ici, vous pouvez écrire quelques messages dans le SMS Gateway en définissant le destinataire sur 'Ozeki'.
Étape 7 - Exécuter le script Python
La dernière chose que vous devez faire pour terminer ce guide est d'exécuter le script Python dans l'Invite de commandes. Pour cela, tapez simplement 'python *nomdufichier*.py' dans l'Invite de commandes comme vous pouvez le voir dans la Figure 7 et appuyez sur Entrée. L'exécution de l'exemple Python SMS affiche la requête HTTP initiée par le programme Python. Ensuite, vous pourrez également voir les messages du SMS Gateway.
Pour résumer
Dans cet article, vous avez appris à utiliser un script Python pour collecter les messages de votre boîte de réception. Vous serez en mesure de construire un système qui envoie des requêtes HTTP à l'Ozeki SMS Gateway et reçoit tous les messages entrants en retour. Utiliser l'Ozeki SMS Gateway pour gérer les messages SMS est pratique car il permet à l'utilisateur de consigner les messages SMS dans une base de données et offre diverses capacités de reporting pour donner plus d'informations sur votre communication SMS.
D'autres langages de programmation peuvent être utilisés pour communiquer avec l'Ozeki SMS Gateway. Pour en savoir plus sur les capacités de l'Ozeki SMS Gateway, n'hésitez pas à visiter d'autres pages de tutoriel comme : Comment utiliser Ruby pour envoyer des SMS.
Tout ce que vous avez à faire est de télécharger l'Ozeki SMS Gateway et commencer à construire votre solution dès maintenant !