Primanje SMS-a u Pythonu

Ovaj dokument pruža vam korisne informacije o tome kako možete dobiti poruke primljene putem SMS Gatewaya koristeći vašu Python aplikaciju. Python SMS primjer pokazuje kako prikuplja poruke iz vaše mapke "inbox" putem HTTP zahtjeva i kako ih čini dostupnima za daljnju upotrebu. Stranica sadrži video tutorial i korak-po-korak vodič koji ne traje više od pet minuta za dovršetak. Krenimo odmah!

Što je Python SMS API?

Python SMS API stvara mogućnost slanja SMS poruka iz Python skripte. Korištenjem ovog Python SMS API-ja, vaša Python skripta može slati HTTP zahtjeve SMS Gatewayu koji šalje SMS poruku.

Preduvjeti

Primanje SMS-a u Pythonu

  1. Otvorite aplikaciju Notepad
  2. Kopirajte i zalijepite primjer koda s ove stranice
  3. Spremite datoteku kao ReceiveSMS.py
  4. Otvorite Ozeki SMS Gateway i odaberite HTTP Server vezu
  5. Otvorite HTML obrazac HTTP Server veze
  6. Pošaljite neke testne poruke
  7. Otvorite Command Prompt
  8. Upišite 'python ReceiveSMS.py' u Command Prompt i pritisnite Enter

Video 1 - Kako primiti SMS u Pythonu (Video tutorial)

Donji primjer Python SMS izvornog koda je besplatan za korištenje u vašim projektima i možete ga mijenjati kako bi odgovarao vašem rješenju. Kod inicira HTTP zahtjev za dobivanje poruka iz SMS Gatewaya. Da biste testirali primjer, samo slijedite upute ispod ili pogledajte video tutorial koji jasno pokazuje sve korake koje treba poduzeti kako biste pokrenuli Python SMS skriptu na svom računalu.

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 Notepada na vašem računalu. Ova aplikacija je potrebna za stvaranje Python datoteke koju ćete izvršiti na kraju vodiča. Dakle, kao što Slika 1 pokazuje, samo kliknite na ikonu Notepad aplikacije na radnoj površini da biste je otvorili.

otvorite notepad
Slika 1 - Otvorite notepad

Korak 2 - Kopirajte Python kod

Zatim, trebate dobiti Python primjer skripte s ove stranice. Ovo je jednostavan zadatak jer trebate samo kopirati. Dakle, da biste to učinili, samo idite na primjer koda na ovoj stranici, označite cijeli izvorni kod i, kao na Slici 2, pritisnite Ctrl+C na vašoj tipkovnici. Ova radnja kopira izvorni kod u vaš međuspremnik i čini ga spremnim za umetanje u tekstualnu datoteku.

kopirajte izvorni kod s web stranice
Slika 2 - Kopirajte izvorni kod s web stranice

Korak 3 - Zalijepite kod u tekstualnu datoteku

Zatim, trebate zalijepiti Python izvorni kod u tekstualni dokument koji ste otvorili u Koraku 1. Ova radnja se može izvesti korištenjem prečaca Ctrl+V koji zalijepi izvorni kod u tekstualnu datoteku iz međuspremnika. Ako ste to učinili ispravno, Python kod će biti u tekstualnoj datoteci kao što to pokazuje Slika 3.

zalijepite izvorni kod u notepad
Slika 3 - Zalijepite izvorni kod u notepad

Korak 4 - Spremite tekst kao Python datoteku

U ovom trenutku imate tekstualnu datoteku koja sadrži izvorni kod, ali još nije u ispravnom formatu datoteke. Notepad može spremiti datoteke u bilo kojem formatu, tako da možete lako riješiti ovaj problem. Dakle, odaberite opciju 'Spremi kao' u Notepadu i spremite datoteku s ekstenzijom '.py'. Ovaj postupak prikazan je na slici 4.

spremi python datoteku kao receivesms py
Slika 4 - Spremi Python datoteku kao ReceiveSMS.py

Korak 5 - Otvorite Command Prompt

Sada je Python skripta spremna za korištenje, ali trebate okruženje u kojem možete izvršiti skriptu. U tu svrhu možete jednostavno koristiti Command Prompt. Da biste ga otvorili, samo idite do mape gdje ste spremili Python datoteku pomoću File Explorera i, kao na slici 5, upišite 'cmd' u adresnu traku File Explorera. Ako pritisnete Enter, Command Prompt će se pojaviti u novom prozoru.

otvori command prompt
Slika 5 - Otvori command prompt

Korak 6 - Pošaljite neke testne poruke

Nakon što postavite Python datoteku, trebate neke poruke u vašu mapu primljenih poruka. Da biste brzo završili test, možete simulirati dolazne poruke s HTTP Server vezu u SMS Gatewayu. Ako još niste konfigurirali ovu vezu, ovdje možete vidjeti kako konfigurirati HTTP Server vezu. Dakle, otvorite SMS Gateway i odaberite HTTP Server vezu. U izborniku veze otvorite HTML obrazac (Slika 6). Ovdje možete napisati neke poruke u SMS Gateway postavljajući primatelja na 'Ozeki'.

simuliraj neke dolazne sms poruke
Slika 6 - Simuliraj neke dolazne SMS poruke

Korak 7 - Pokrenite Python skriptu

Posljednja stvar koju trebate učiniti da biste dovršili ovaj vodič je pokrenuti Python skriptu u Command Promptu. Za to samo upišite 'python *ime_datoteke*.py' u Command Prompt, kao što možete vidjeti na slici 7, i pritisnite Enter. Izvršavanje Python SMS primjera ispisat će HTTP zahtjev koji je pokrenut Python programom. Tada ćete također moći vidjeti poruke iz SMS Gatewaya.

pokreni python kod u command promptu
Slika 7 - Pokreni Python kod u command promptu

Da sumiramo

Iz ovog članka naučili ste kako koristiti Python skriptu za prikupljanje poruka iz vašeg sandučića. Moći ćete izgraditi sustav koji šalje HTTP zahtjeve Ozeki SMS Gatewayu i prima sve dolazne poruke natrag. Korištenje Ozeki SMS Gatewaya za upravljanje SMS porukama vrlo je korisno jer korisniku omogućuje bilježenje SMS poruka u bazu podataka i nudi razne mogućnosti izvještavanja kako bi pružio više informacija o vašoj SMS komunikaciji.

Za komunikaciju s Ozeki SMS Gatewayom mogu se koristiti i drugi programski jezici. Da biste saznali više o mogućnostima Ozeki SMS Gatewaya, slobodno posjetite više stranica s vodičima kao što su: Kako koristiti Ruby za slanje SMS poruka.

Sve što trebate učiniti je preuzeti Ozeki SMS Gateway i početi graditi svoje rješenje odmah!