SMS in Python empfangen

Dieses Dokument bietet Ihnen nützliche Informationen darüber, wie Sie die Nachrichten, die vom SMS-Gateway empfangen wurden, mit Ihrer Python-Anwendung abrufen können. Das Python-SMS-Beispiel zeigt, wie die Nachrichten aus Ihrem Posteingangsordner über HTTP-Anfragen gesammelt werden und wie sie für die weitere Verwendung verfügbar gemacht werden. Die Seite enthält ein Video-Tutorial und eine Schritt-für-Schritt-Anleitung, die nicht mehr als fünf Minuten in Anspruch nimmt. Fangen wir gleich an!

Was ist eine Python-SMS-API?

Die Python-SMS-API ermöglicht das Versenden von SMS-Nachrichten aus einem Python-Skript. Durch die Verwendung dieser Python-SMS-API kann Ihr Python-Skript HTTP-Anfragen an das SMS-Gateway senden, das dann die SMS-Nachricht versendet.

Voraussetzungen

SMS in Python empfangen

  1. Öffnen Sie die Notepad-Anwendung
  2. Kopieren Sie den Beispielcode von dieser Seite und fügen Sie ihn ein
  3. Speichern Sie die Datei als ReceiveSMS.py
  4. Öffnen Sie das Ozeki SMS Gateway und wählen Sie die HTTP-Server-Verbindung aus
  5. Öffnen Sie das HTML-Formular der HTTP-Server-Verbindung
  6. Senden Sie einige Testnachrichten
  7. Öffnen Sie die Eingabeaufforderung
  8. Geben Sie 'python ReceiveSMS.py' in die Eingabeaufforderung ein und drücken Sie Enter

Video 1 - Wie man SMS in Python empfängt (Video-Tutorial)

Der untenstehende Beispiel-Python-SMS-Quellcode kann kostenlos in Ihren Projekten verwendet und auch modifiziert werden, um in Ihre Lösung zu passen. Der Code initiiert eine HTTP-Anfrage, um die Nachrichten vom SMS-Gateway abzurufen. Um das Beispiel zu testen, folgen Sie einfach den Anweisungen unten oder schauen Sie sich das Video-Tutorial an, das alle Schritte klar demonstriert, die unternommen werden müssen, um das Python-SMS-Skript auf Ihrem Computer auszuführen.

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()

Schritt 1 - Notepad öffnen

Der erste Schritt dieser Anleitung besteht darin, Notepad auf Ihrem Computer zu öffnen. Diese Anwendung wird benötigt, um die Python-Datei zu erstellen, die Sie am Ende der Anleitung ausführen werden. Wie in Abbildung 1 gezeigt, klicken Sie einfach auf das Symbol der Notepad-Anwendung auf dem Desktop, um sie zu öffnen.

Notepad öffnen
Abbildung 1 - Notepad öffnen

Schritt 2 - Den Python-Code kopieren

Als Nächstes müssen Sie das Python-Beispielskript von dieser Seite holen. Dies ist eine einfache Aufgabe, da Sie es nur kopieren müssen. Gehen Sie dazu einfach zum Beispielcode auf dieser Seite, markieren Sie den gesamten Quellcode und drücken Sie wie in Abbildung 2 Strg+C auf Ihrer Tastatur. Diese Aktion kopiert den Quellcode in Ihre Zwischenablage und macht ihn bereit, in eine Textdatei eingefügt zu werden.

Quellcode von der Website kopieren
Abbildung 2 - Quellcode von der Website kopieren

Schritt 3 - Den Code in eine Textdatei einfügen

Als Nächstes müssen Sie den Python-Quellcode in das Textdokument einfügen, das Sie in Schritt 1 geöffnet haben. Diese Aktion kann mit der Tastenkombination Strg+V durchgeführt werden, die den Quellcode aus der Zwischenablage in die Textdatei einfügt. Wenn Sie es richtig gemacht haben, wird der Python-Code wie in Abbildung 3 gezeigt in der Textdatei sein.

Quellcode in Notepad einfügen
Abbildung 3 - Quellcode in Notepad einfügen

Schritt 4 - Speichern Sie den Text als Python-Datei

An diesem Punkt haben Sie eine Textdatei, die den Quellcode enthält, aber sie ist noch nicht im richtigen Dateiformat. Notepad kann Dateien in jedem Format speichern, also können Sie dieses Problem ganz einfach lösen. Wählen Sie die Option "Speichern unter" in Notepad und speichern Sie die Datei mit der Dateierweiterung '.py'. Dieser Vorgang wird in Abbildung 4 demonstriert.

Python-Datei speichern als receivesms py
Abbildung 4 - Python-Datei als ReceiveSMS.py speichern

Schritt 5 - Öffnen Sie die Eingabeaufforderung

Nun ist das Python-Skript einsatzbereit, aber Sie benötigen eine Umgebung, in der Sie das Skript ausführen können. Dazu können Sie einfach die Eingabeaufforderung verwenden. Um sie zu öffnen, navigieren Sie einfach mit dem Datei-Explorer zu dem Ordner, in dem Sie die Python-Datei gespeichert haben, und geben Sie wie in Abbildung 5 'cmd' in die Adressleiste des Datei-Explorers ein. Wenn Sie Enter drücken, erscheint die Eingabeaufforderung in einem neuen Fenster.

Eingabeaufforderung öffnen
Abbildung 5 - Eingabeaufforderung öffnen

Schritt 6 - Senden Sie einige Testnachrichten

Nachdem Sie die Python-Datei eingerichtet haben, benötigen Sie einige Nachrichten in Ihrem Posteingang. Um den Test schnell abzuschließen, können Sie eingehende Nachrichten mit der HTTP-Server-Verbindung in der SMS-Gateway simulieren. Falls Sie diese Verbindung noch nicht konfiguriert haben, können Sie hier sehen, wie Sie eine HTTP-Server-Verbindung konfigurieren. Öffnen Sie also die SMS-Gateway und wählen Sie die HTTP-Server-Verbindung. Im Menü der Verbindung öffnen Sie das HTML-Formular (Abbildung 6). Hier können Sie einige Nachrichten an die SMS-Gateway schreiben, indem Sie den Empfänger auf 'Ozeki' setzen.

Einige eingehende SMS simulieren
Abbildung 6 - Einige eingehende SMS simulieren

Schritt 7 - Führen Sie das Python-Skript aus

Das Letzte, was Sie tun müssen, um diese Anleitung abzuschließen, ist das Ausführen des Python-Skripts in der Eingabeaufforderung. Geben Sie dazu einfach 'python *Dateiname*.py' in die Eingabeaufforderung ein, wie Sie es in Abbildung 7 sehen können, und drücken Sie Enter. Die Ausführung des Python-SMS-Beispiels gibt die HTTP-Anfrage aus, die vom Python-Programm initiiert wurde. Dann können Sie auch die Nachrichten von der SMS-Gateway sehen.

Python-Code in der Eingabeaufforderung ausführen
Abbildung 7 - Python-Code in der Eingabeaufforderung ausführen

Zusammenfassend

In diesem Artikel haben Sie gelernt, wie Sie mit einem Python-Skript Nachrichten aus Ihrem Posteingang sammeln können. Sie werden in der Lage sein, ein System zu bauen, das HTTP-Anfragen an die Ozeki SMS-Gateway sendet und alle eingehenden Nachrichten zurückerhält. Die Verwendung der Ozeki SMS-Gateway zur Verwaltung von SMS-Nachrichten ist praktisch, da sie dem Benutzer ermöglicht, SMS-Nachrichten in einer Datenbank zu protokollieren und verschiedene Berichtsfunktionen bietet, um mehr Informationen über Ihre SMS-Kommunikation zu erhalten.

Andere Programmiersprachen können verwendet werden, um mit der Ozeki SMS-Gateway zu kommunizieren. Um mehr über die Möglichkeiten der Ozeki SMS-Gateway zu erfahren, besuchen Sie gerne weitere Tutorial-Seiten wie: Wie man Ruby verwendet, um SMS-Nachrichten zu senden.

Alles, was Sie tun müssen, ist die Ozeki SMS-Gateway herunterzuladen und jetzt mit dem Aufbau Ihrer Lösung zu beginnen!