Primanje SMS poruka u Pythonu

Ovaj dokument vam pruža korisne informacije o tome kako možete dobiti poruke pristigle putem SMS Gateway-a koristeći vašu Python aplikaciju. Python SMS primer pokazuje kako se poruke prikupljaju iz vašeg inbox foldera putem HTTP zahteva i kako se čine dostupnim za dalju upotrebu. Stranica sadrži video tutorijal i korak-po-korak vodič koji ne traje duže od pet minuta da se završi. Počnimo odmah!

Šta je Python SMS API?

Python SMS API stvara mogućnost slanja SMS poruka iz Python skripte. Korišćenjem ovog Python SMS API-ja, vaša Python skripta može slati HTTP zahteve ka SMS Gateway-u koji šalje SMS poruku.

Preduslovi Primanje SMS poruka u Pythonu
  1. Otvorite Notepad aplikaciju
  2. Kopirajte i nalepite primer koda sa ove stranice
  3. Sačuvajte fajl kao ReceiveSMS.py
  4. Otvorite Ozeki SMS Gateway i izaberite HTTP Server vezu
  5. Otvorite HTML formu HTTP Server veze
  6. Pošaljite neke test poruke
  7. Otvorite Command Prompt
  8. Ukucajte 'python ReceiveSMS.py' u Command Prompt i pritisnite Enter

Video 1 - Kako primiti SMS poruke u Pythonu (Video tutorijal)

Ovaj primer Python SMS izvornog koda ispod je slobodan za korišćenje u vašim projektima i možete ga modifikovati kako bi odgovarao vašem rešenju. Kod inicira HTTP zahtev da bi dobio poruke iz SMS Gateway-a. Da biste testirali primer, samo pratite uputstva ispod ili pogledajte video tutorijal koji jasno demonstrira sve korake koje treba preduzeti da biste pokrenuli Python SMS skriptu na svom računaru.

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()
Korak 1 - Otvorite Notepad

Prvi korak ovog vodiča je otvaranje Notepad-a na vašem računaru. Ova aplikacija je potrebna da biste kreirali Python fajl koji ćete izvršiti na kraju vodiča. Dakle, kao što Slika 1 pokazuje, samo kliknite na ikonu Notepad aplikacije na desktopu da biste je otvorili.

otvorite notepad
Slika 1 - Otvaranje Notepad-a

Korak 2 - Kopirajte Python kod

Zatim, morate dobiti Python primer skripte sa ove stranice. Ovo je laka stvar za uraditi jer je samo potrebno da je kopirate. Dakle, da biste to uradili, samo idite na primer koda na ovoj stranici, označite ceo izvorni kod, i kao na Slici 2, pritisnite Ctrl+C na vašoj tastaturi. Ova akcija kopira izvorni kod u vaš clipboard i čini ga spremnim za postavljanje u tekstualni fajl.

kopiranje izvornog koda sa veb stranice
Slika 2 - Kopiranje izvornog koda sa veb stranice

Korak 3 - Nalepite kod u tekstualni fajl

Zatim, morate nalepiti Python izvorni kod u tekstualni dokument koji ste otvorili u Koraku 1. Ova akcija se može izvršiti korišćenjem prečice Ctrl+V koja lepi izvorni kod u tekstualni fajl iz clipboard-a. Ako ste to uradili ispravno, Python kod će biti u tekstualnom fajlu kao što Slika 3 pokazuje.

lepljenje izvornog koda u notepad
Slika 3 - Lepljenje izvornog koda u Notepad

Корак 4 - Сачувајте текст као Python фајл

У овом тренутку, имате текстуални фајл који садржи изворни код, али још увек није у исправном формату. Notepad може да сачува фајлове у било ком формату, тако да можете лако решити овај проблем. Изаберите опцију 'Save as' у Notepad-у и сачувајте фајл са екстензијом '.py'. Овај процес је приказан на Слици 4.

сачувај python фајл као receivesms py
Слика 4 - Сачувај python фајл као ReceiveSMS.py

Корак 5 - Отворите Command Prompt

Сада је Python скрипта спремна за употребу, али вам је потребно окружење у коме можете да извршите скрипту. За ту сврху, можете једноставно користити Command Prompt. Да бисте га отворили, само идите до фолдера где сте сачували Python фајл помоћу File Explorer-а и, као на Слици 5, укуцајте 'cmd' у адресну траку File Explorer-а. Ако притиснете Enter, Command Prompt ће се појавити у новом прозору.

отвори command prompt
Слика 5 - Отвори command prompt

Корак 6 - Пошаљите неке тест поруке

Након што подесите Python фајл, потребне су вам неке поруке у инбокс фолдеру. Да бисте брзо завршили тест, можете симулирати долазне поруке са HTTP Server конекцијом у SMS Gateway-у. Ако још нисте конфигурисали ову конекцију, овде можете видети како да конфигуришете HTTP Server конекцију. Дакле, отворите SMS Gateway и изаберите HTTP Server конекцију. У менију конекције, отворите HTML форму (Слика 6). Овде можете написати неке поруке у SMS Gateway постављањем примаоца на 'Ozeki'.

симулирај неке долазне sms
Слика 6 - Симулирај неке долазне SMS

Корак 7 - Покрените Python скрипту

Последња ствар коју треба да урадите да бисте завршили овај водич је да покренете Python скрипту у Command Prompt-у. За то, само укуцајте 'python *имефајла*.py' у Command Prompt као што можете видети на Слици 7 и притисните Enter. Извршавање Python SMS примера исписује HTTP захтев који је покренут од стране Python програма. Затим, моћи ћете да видите и поруке из SMS Gateway-а.

покрени python код у command prompt-у
Слика 7 - Покрени python код у command prompt-у

Да резимирамо

Из овог чланка, научили сте како да користите Python скрипту за прикупљање порука из вашег инбокса. Моћи ћете да изградите систем који шаље HTTP захтеве до Ozeki SMS Gateway-а и прима све долазне поруке назад. Коришћење Ozeki SMS Gateway-а за управљање SMS порукама је корисно јер омогућава кориснику да евидентира SMS поруке у базу података и нуди разне могућности извештавања да бисте добили више информација о вашој SMS комуникацији.

Други програмски језици могу да се користе за комуникацију са Ozeki SMS Gateway-ом. Да бисте сазнали више о могућностима Ozeki SMS Gateway-а, слободно посетите још страница са упутствима као што су: Како да користите Ruby за слање SMS порука.

Све што треба да урадите је да преузмете Ozeki SMS Gateway и почнете да градите ваше решење одмах!