SMS in Ruby Rails empfangen

Die Anleitung auf dieser Seite bietet Ihnen die Möglichkeit zu lernen, wie Sie ein Ruby-Programm verwenden können, um empfangene SMS-Nachrichten vom SMS-Gateway abzurufen. Dies kann durch HTTP-Anfragen erfolgen, die die empfangenen SMS-Nachrichten sammeln. Die Anleitung enthält ein Video-Tutorial und eine Schritt-für-Schritt-Anleitung, die Ihnen hilft, den Prozess des Empfangens von SMS-Nachrichten mit Ruby zu erlernen.

Was ist die Ruby SMS API?

Die Ruby Rails SMS API ermöglicht es Ihnen, SMS-Nachrichten aus Ihrem Ruby Rails-Programm zu versenden. Die Ruby SMS API initiiert HTTP-Anfragen und sendet sie an das SMS-Gateway, das die Nachricht an den Empfänger liefert.

Voraussetzungen

SMS in Ruby Rails 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.rb
  4. Öffnen Sie das Ozeki SMS Gateway und wählen Sie die HTTP-Server-Verbindung
  5. Öffnen Sie das HTML-Formular der HTTP-Server-Verbindung
  6. Senden Sie einige Testnachrichten
  7. Öffnen Sie die Eingabeaufforderung
  8. Geben Sie 'ruby ReceiveSMS.rb' in die Eingabeaufforderung ein und drücken Sie Enter
  9. Ruby Rails empfängt SMS-Nachrichten

Video 1 - Wie Sie SMS in Ruby Rails empfangen (Video-Tutorial)

Sie können den Ruby-Beispielcode für SMS frei in Ihren Projekten verwenden und ihn auch nach Belieben anpassen. Wenn Sie diesen Beispielcode einfach ausführen möchten, um zu sehen, wie er funktioniert, lesen Sie die Schritt-für-Schritt-Anleitung unten oder schauen Sie sich das Video-Tutorial auf dieser Seite an, um zu erfahren, was nötig ist, um den Ruby-SMS-Beispielcode auf Ihrem Computer auszuführen.

require 'net/http'
require 'rexml/document'
include REXML

def DisplayMessages(response)
	xmldoc = Document.new(response)

	xmldoc.elements.each('response/data/message') do |value|
		begin
			sender = value.elements['originator'].text
			text = value.elements['messagedata'].text
			DisplayMessage(sender,text)
		rescue
			puts("Der Posteingang ist leer.")
		end
	end
end

def DisplayMessage(sender, text)
	puts("#{sender}: #{text}")
end

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"

puts("Sende HTTP-Anfrage #{sendString}")

OpenSSL::SSL.send(:remove_const, :VERIFY_PEER)
OpenSSL::SSL.const_set(:VERIFY_PEER, OpenSSL::SSL::VERIFY_NONE)

url = URI(sendString)
response = Net::HTTP.get(url)
puts("HTTP-Antwort erhalten:")
DisplayMessages(response)

Schritt 1 - Notepad öffnen

In diesem ersten Schritt müssen Sie einen Texteditor öffnen, der Ruby-Dateien verarbeiten kann. Dafür können Sie die standardmäßige Notepad-Anwendung verwenden, die auf allen Computern mit Windows-Betriebssystem zu finden ist. Wie in Abbildung 1 zu sehen ist, öffnen Sie sie einfach von Ihrem Desktop aus.

Notepad öffnen
Abbildung 1 - Notepad-Texteditor öffnen

Schritt 2 - Ruby-Code kopieren

Als Nächstes müssen Sie den Ruby-Beispielcode von dieser Seite kopieren. Scrollen Sie dazu einfach zum Beispielcode-Abschnitt dieser Seite und markieren Sie den gesamten Ruby-Beispielcode. Drücken Sie dann, wie in Abbildung 2 zu sehen, Strg+C auf Ihrer Tastatur, um den Ruby-Code in die Zwischenablage zu kopieren.

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

Schritt 3 - Code in die Textdatei einfügen

Nachdem Sie den Ruby-Quellcode von dieser Seite kopiert haben, müssen Sie ihn in ein Textdokument einfügen. Gehen Sie dazu einfach zur zuvor geöffneten Notepad-Anwendung und drücken Sie, wie in Abbildung 3 zu sehen, Strg+V auf Ihrer Tastatur, um den gesamten Ruby-Quellcode in das Textdokument einzufügen.

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

Schritt 4 - Speichern Sie den Text als Ruby-Datei

An diesem Punkt haben Sie eine Textdatei, die den Quellcode enthält, aber sie ist noch nicht im richtigen Ruby-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 aus und speichern Sie die Datei mit der Dateierweiterung '.rb'. Dieser Vorgang wird in Abbildung 4 demonstriert.

Ruby-Datei speichern
Abbildung 4 - Ruby-Datei als ReceiveSMS.rb speichern

Schritt 5 - Senden Sie einige Testnachrichten

Jetzt ist Ihr Beispielcode bereit zur Ausführung, aber zuerst benötigen Sie einige Nachrichten in Ihrem Posteingang. Zu Testzwecken können Sie die HTTP-Server-Verbindung verwenden, um einige Testnachrichten an sich selbst zu senden und den PHP-Beispielcode zu testen. Öffnen Sie also das SMS-Gateway und wählen Sie die HTTP-Server-Verbindung aus. Öffnen Sie hier das HTML-Formular der Verbindung und senden Sie, wie in Abbildung 5 gezeigt, einige Nachrichten an den Empfänger 'Ozeki'.

Eingehende SMS simulieren
Abbildung 5 - Einige eingehende SMS simulieren

Schritt 6 - Öffnen Sie die Eingabeaufforderung

Der Hauptschritt dieser Anleitung ist die Ausführung des Ruby-Programms. Dazu müssen Sie die Eingabeaufforderung auf Ihrem Computer öffnen. Navigieren Sie zunächst zu dem Ordner, in dem Sie die Ruby-Datei gespeichert haben, indem Sie den Datei-Explorer verwenden. Hier, wie Sie in Abbildung 6 sehen können, geben Sie 'cmd' in den Datei-Explorer ein, und wenn Sie Enter drücken, öffnet sich die Eingabeaufforderung auf Ihrem Computer.

Eingabeaufforderung öffnen
Abbildung 6 - Eingabeaufforderung öffnen

Schritt 7 - Führen Sie das Ruby-Programm aus

In der Eingabeaufforderung müssen Sie nur einen Befehl eingeben, um das Ruby-Programm auszuführen. Geben Sie einfach 'ruby *Dateiname*.rb' in die Eingabeaufforderung ein und drücken Sie Enter. Dadurch wird das Ruby-Beispiel ausgeführt, und Sie können die Ergebnisse im Konsolenfenster sehen (Abbildung 7). Hier können Sie die HTTP-Anfrage und die Antwort auf diese Anfrage sehen, die alle empfangenen Nachrichten enthält.

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