Hogyan ütemezzen SMS-t Pythonban
A legegyszerűbb módja az ütemezett SMS küldésének Pythonból az Ozeki SMS Gateway beépített HTTP/Rest SMS API-jának használata. Amikor ezt az API-t használja, SMS üzeneteket küldhet HTTP POST kérések kiadásával az SMS gateway felé. A HTTP POST kérés egy JSON formátumban formázott üzenetet fog tartalmazni. Az SMS gateway továbbítja ezt az SMS-t a címzett telefonszámára, és egy HTTP 200 OK választ küld vissza a kérésére.
Python kód ütemezett SMS küldésére mobilra
Az alábbi Python SMS kódminta bemutatja, hogyan küldhet ütemezett SMS-t az Ozeki SMS Gateway http rest sms api-jával a Python ozekilibsrest könyvtár segítségével. Ez a könyvtár ingyenesen elérhető, és bármilyen projektjében felhasználhatja és módosíthatja.
SendScheduledSms.py
from ozekilibsrest import Configuration, Message, MessageApi from datetime import datetime configuration = Configuration( username="http_user", password="qwe123", api_url="http://127.0.0.1:9509/api" ) msg = Message( to_address="+3620111111", text="Hello world!", time_to_send=datetime.strptime("2021-09-10 14:25:00", "%Y-%m-%d %H:%M:%S") ) api = MessageApi(configuration) result = api.send(msg) print(result)
Hogyan használható a Python SMS példa:
Ez a Python SMS példa bármilyen Python alkalmazásban használható. A használatához telepítenie kell az ozekilibsrest csomagot a pip install ozekilibsrest paranccsal. A csomag telepítése után a from ozekilibsrest import Configuration, Message, MessageApi direktívát be kell illesztenie a Python forráskód fejléc részébe. Ez lehetővé teszi az ozekilibsrest könyvtár által nyújtott osztályok használatát. A Message osztály segítségével hozhatja létre az SMS-t. A MessageApi osztály segítségével küldheti az SMS-t az SMS gatewaynek. Az SMS gateway továbbítja az üzenetet a mobilhálózatnak vezeték nélküli kapcsolaton vagy az interneten keresztül.
SendScheduledSms.py letöltése
A cikkben ismertetett forráskód ingyenesen letölthető, használható és módosítható.
Letöltés: SendScheduledSms.py.zip (458B)
Mi található a SendScheduledSms.py mappában?
A SendScheduledSms.py mappa tartalmazza a python sms példa szkriptjét, amely bemutatja, hogyan küldhet ütemezett SMS üzeneteket Python használatával.
Hogyan telepíthető az ozekilibsrest könyvtár
Az ozekilibsrest könyvtár telepítéséhez meg kell nyitnia a parancssort, és a következő parancsot kell használnia. Ez telepíti az ozekilibsrest könyvtárat és a szükséges függőségeket.
pip install ozekilibsrest
Hogyan küldjön ütemezett SMS-t Pythonból (Gyors lépések)
Ütemezett SMS küldése Pythonból:
- Töltse le és telepítse a Python-t
- Telepítse az ozekilibsrest könyvtárat pip vagy conda használatával
- Töltse le a SendScheduledSms.py.zip fájlt
- Csomagolja ki a .zip fájlt a Letöltések mappából
- Nyissa meg a SendScheduledSms.py fájlt bármilyen szövegszerkesztőben
- Indítsa el az Ozeki SMS Gateway-t
- Hozzon létre egy HTTP API felhasználót az Ozeki-ben
- Futtassa a SendScheduledSms.py kódot a parancssorból teszt SMS üzenetek küldéséhez
- Ellenőrizze a Küldött mappát az Ozeki SMS Gateway-ben
Ozeki SMS Gateway telepítése és HTTP API felhasználó létrehozása
Ahhoz, hogy SMS-t küldhessen Pythonból, először telepítenie kell az Ozeki SMS Gateway-t. Az SMS gateway telepíthető ugyanarra a számítógépre, ahol a Python kódját fejleszti. A telepítés után a következő lépés az, hogy csatlakoztassa az Ozeki SMS Gateway-t a mobilhálózathoz. Küldhet egy teszt sms-t az Ozeki GUI-ból annak ellenőrzésére, hogy a mobilhálózati kapcsolat működik. A környezet előkészítésének utolsó lépése egy HTTP sms api felhasználói fiók létrehozása. Hozzon létre egy felhasználót "http_user" felhasználónévvel és "qwe123" jelszóval, hogy a példa módosítás nélkül működjön.
Miután a környezet beállításra került, futtathatja a Python kódját.
HTTP API URL SMS küldéséhez Pythonból
Ahhoz, hogy SMS-t küldhessen Pythonból, a Python alkalmazásának HTTP kérést kell küldenie az SMS gatewaynek. Az API URL az alábbiakban látható. Vegye figyelembe, hogy az IP cím (127.0.0.1) helyére az SMS gateway IP címét kell beírni. Ha az Ozeki SMS Gateway ugyanarra a számítógépre van telepítve, ahol a Python sms alkalmazás fut, ez lehet 127.0.0.1. Ha másik számítógépre van telepítve, akkor annak a számítógépnek az IP címét kell megadni.
http://127.0.0.1:9509/api?action=rest
HTTP hitelesítés SMS küldéséhez Pythonból
A Python sms kliens hitelesítéséhez a felhasználónevet és a jelszót base64 kódolt sztringként kell elküldenie a szervernek egy HTTP kérésben. A használt formátum: base64(username+":"+password). Pythonban a következő kóddal végezheti el ezt a kódolást:
def create_authorization_header(username, password): username_password = f'{ username }:{ password }' return f'Basic { b64encode(username_password.encode()).decode() }'
Például, ha a 'http_user' felhasználónevet és a 'qwe123' jelszót kódolja, a következő base64 kódolt sztringet kapja: aHR0cF91c2VyOnF3ZTEyMw==.
HTTP kérés fejléc SMS küldéséhez Pythonból
Az SMS üzenetek küldéséhez a következő sorokat kell tartalmaznia a HTTP kérés fejlécében. Vegye figyelembe, hogy egy tartalomtípus és egy Authorization fejléc is szerepel.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP kérés SMS küldéséhez Pythonból
Az SMS üzenetek beküldéséhez a Python alkalmazása egy olyan HTTP kérést fog küldeni, mint az alábbi. Vegye figyelembe, hogy ez a kérés tartalmaz egy HTTP fejléc részt és egy HTTP törzs részt. A HTTP törzs egy JSON kódolt adatsztring. Tartalmazza a címzettek számát és az üzenetek szövegét.
POST /api?action=sendmsg HTTP/1.1 Host: 127.0.0.1:9509 User-Agent: python-requests/2.26.0 Accept-Encoding: gzip, deflate Accept: */* Connection: keep-alive Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw== Content-Type: application/json Content-Length: 349 { "messages": [ { "message_id": "cd0067bf-0797-489e-8796-325dacc68552", "to_address": "+3620111111", "text": "Hello world!", "create_date": "2021-09-17T08:20:15", "valid_until": "2021-09-24T08:20:15", "time_to_send": "2021-09-17T08:25:00", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true, "tags": [] } ] }
HTTP válasz, amit a Python sms példa kap
Amint az SMS gateway megkapja ezt a kérést, generál egy HTTP választ. A HTTP válasz tartalmaz egy állapotkódot, amely jelzi, hogy az SMS beküldési kérés sikeres volt-e vagy sem. Egy JSON kódolt struktúrát is visszaad, amely hasznos részleteket nyújt az üzenet beküldéséről.
HTTP/1.1 200 OK Transfer-Encoding: chunked Content-Type: application/json; charset=utf8 Last-Modified: Thu, 16 Sep 2021 09:14:44 GMT Server: 10/10.3.124 Microsoft-HTTPAPI/2.0 User-Agent: OZEKI 10.3.124 (www.myozeki.com) Access-Control-Allow-Origin: * Date: Fri, 17 Sep 2021 06:20:15 GMT { "http_code": 200, "response_code": "SUCCESS", "response_msg": "Messages queued for delivery.", "data": { "total_count": 1, "success_count": 1, "failed_count": 0, "messages": [ { "message_id": "cd0067bf-0797-489e-8796-325dacc68552", "from_station": "%", "to_address": "+3620111111", "to_station": "%", "text": "Hello world!", "create_date": "2021-09-17 08:20:15", "valid_until": "2021-09-24 08:20:15", "time_to_send": "2021-09-17 08:25:00", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" } ] } }
Python sms példa: SendScheduledSms.py
Hogyan tölthető le a SendScheduledSMS.py projekt (Videó útmutató)
A következő videóban megtudhatja, hogyan használhatja a SendScheduledSms.py Python projektet. A videó a letöltési oldallal kezdődik, és végigvezeti a megnyitott kódszerkesztő panelig. Megtanulhatja, hogyan töltheti le és nyithatja meg a kódfájlt. A videó mindössze 54 másodperc hosszú, de tartalmazza az összes szükséges információt a példa kódfájl sikeres használatához.
Az alábbi példakód a SendScheduledSms.py.zip mappa része.
Hogyan használható a projekt (Videó útmutató)
A következő klipben láthatja, hogyan indíthatja el a SendScheduledSms.py Python kódot. A videó a megnyitott kóddal kezdődik, és végigvezeti az események lapig, ahol a küldött üzenet naplója látható. Látni fogja, hogyan kell elindítani a kódot, és mi történik, ha a kód végrehajtódik. A videó kicsit kevesebb, mint 1 perc hosszú, de tartalmazza az összes szükséges információt a projekt futtatásához.
Összegzés
Ez a cikk bemutatta az ütemezett SMS küldésének lépéseit egyetlen kérésben Pythonból.
Ezzel a tudással és a biztosított eszközökkel több ügyfélhez is el tud jutni egyetlen kóddal.
Az Ozeki SMS Gateway fontos szerepet játszik ebben a folyamatban, mivel ez a program szervezi az üzenetküldést.
Az Ozeki SMS Gateway nagy minőségben és teljesítménnyel működik, lehetővé téve akár 1000 SMS másodpercenkénti küldését.
Folytassa tanulmányait az Ozeki oktatóoldalain, ahol olyan témákról olvashat, mint a
SMS fogadása Pythonban.
Most már csak annyi a teendője, hogy letölti az Ozeki
SMS Gateway-t és elkezd dolgozni!
More information