Hogyan küldjünk több SMS-t Pythonból
A legegyszerűbb módja az 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álod, SMS üzeneteket küldhetsz 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ésedre.
Python kód SMS küldésére mobilra
Az alábbi Python SMS kódminta bemutatja, hogyan küldhetsz 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ő számodra, és bármilyen projektben felhasználhatod és módosíthatod.
SendMultipleSms.py
from ozekilibsrest import Configuration, Message, MessageApi configuration = Configuration( username="http_user", password="qwe123", api_url="http://127.0.0.1:9509/api" ) msg1 = Message( to_address="+3620111111", text="Hello world 1!" ) msg2 = Message( to_address="+36202222222", text="Hello world 2!" ) msg3 = Message( to_address="+36203333333", text="Hello world 3!" ) api = MessageApi(configuration) result = api.send([msg1, msg2, msg3]) print(result)
Hogyan használd a Python SMS példát:
Ez a Python SMS példa bármilyen Python alkalmazásban használható. A használatához telepítened 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 illesztened a Python forráskódod 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 létrehozhatod az SMS-t. A MessageApi osztály segítségével elküldheted az SMS-t az SMS gatewaynek. Az SMS gateway továbbítja az üzenetedet a mobilhálózatba vezeték nélküli kapcsolaton vagy az interneten keresztül.
SendMultipleSms.py letöltése
A cikkben ismertetett forráskód ingyenesen letölthető, felhasználható és módosítható.
Letöltés: SendMultipleSms.py.zip (423B)
Mi található a SendMultipleSms.py mappában?
A SendMultipleSms.py mappa tartalmazza a Python SMS példa szkriptjét, amely bemutatja, hogyan küldj több SMS üzenetet Python használatával.
Hogyan telepítsük az ozekilibsrest könyvtárat
Az ozekilibsrest könyvtár telepítéséhez meg kell nyitnod a parancssort, és a következő parancsot kell használnod. Ez telepíti az ozekilibsrest könyvtárat és a szükséges függőségeit.
pip install ozekilibsrest
Hogyan küldjünk több SMS-t Pythonból (Gyors lépések)
Több SMS küldése Pythonból:
- Töltsd le és telepítsd a Python-t
- Telepítsd az ozekilibsrest könyvtárat pip vagy conda használatával
- Töltsd le a SendMultipleSms.py.zip fájlt
- Csomagold ki a .zip fájlt a Letöltések mappából
- Nyisd meg a SendMultipleSms.py fájlt bármilyen szövegszerkesztőben
- Indítsd el az Ozeki SMS Gateway-t
- Hozz létre egy HTTP API felhasználót az Ozeki-ban
- Futtasd a SendMultipleSms.py kódot a parancssorból a teszt SMS üzenetek elküldéséhez
- Ellenőrizd az Elkü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 tudj küldeni Pythonból, először telepítened kell az Ozeki SMS Gateway-t. Az SMS gateway telepíthető ugyanarra a számítógépre, ahol a Python kódodat fejleszted. A telepítés után a következő lépés az, hogy csatlakoztad az Ozeki SMS Gateway-t a mobilhálózathoz. Küldhetsz egy teszt SMS-t az Ozeki GUI-ból annak ellenőrzésére, hogy a mobilhálózati kapcsolatod 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. Hozz 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 van állítva, futtathatod a Python kódodat.
HTTP API URL SMS küldéséhez Pythonból
Ahhoz, hogy SMS-t küldj Pythonból, a Python alkalmazásodnak HTTP kérést kell küldenie az SMS gateway felé. Az API URL az alábbiakban látható. Fontos, hogy az IP címet (127.0.0.1) le kell cserélni az SMS gateway IP címére. 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 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üldened a szervernek egy HTTP kérésben. A használt formátum: base64(username+":"+password). Pythonban a következő kóddal végezheted 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ódolod, a következő base64 kódolt sztringet kapod: 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ének. Megjegyzés: tartalomtípust és egy Authorization fejlécet is tartalmazunk.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP kérés SMS küldéséhez Pythonból
Az SMS üzenetek elküldéséhez a Python alkalmazásod egy olyan HTTP kérést fog küldeni, mint az alábbi. Megjegyzés: 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: 1027 { "messages": [ { "message_id": "cf609600-7269-46e3-ab6e-87ef5a99f848", "to_address": "+3620111111", "text": "Hello world 1!", "create_date": "2021-09-10T15:19:20", "valid_until": "2021-09-17T15:19:20", "time_to_send": "2021-09-10T15:19:20", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true, "tags": [] }, { "message_id": "8d93e43a-b4dc-493f-a243-10db358a58ec", "to_address": "+36202222222", "text": "Hello world 2!", "create_date": "2021-09-10T15:19:20", "valid_until": "2021-09-17T15:19:20", "time_to_send": "2021-09-10T15:19:20", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true, "tags": [] }, { "message_id": "35e56437-15e4-4ee7-9ad4-dfc00a8f7c3a", "to_address": "+36203333333", "text": "Hello world 3!", "create_date": "2021-09-10T15:19:20", "valid_until": "2021-09-17T15:19:20", "time_to_send": "2021-09-10T15:19:20", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true, "tags": [] } ] }
HTTP válasz a Python SMS példa által kapott
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. Ezenkívül 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: Fri, 10 Sep 2021 10:22:37 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, 10 Sep 2021 13:19:19 GMT { "http_code": 200, "response_code": "SUCCESS", "response_msg": "Messages queued for delivery.", "data": { "total_count": 3, "success_count": 3, "failed_count": 0, "messages": [ { "message_id": "cf609600-7269-46e3-ab6e-87ef5a99f848", "from_station": "%", "to_address": "+3620111111", "to_station": "%", "text": "Hello world 1!", "create_date": "2021-09-10 15:19:20", "valid_until": "2021-09-17 15:19:20", "time_to_send": "2021-09-10 15:19:20", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" }, { "message_id": "8d93e43a-b4dc-493f-a243-10db358a58ec", "from_station": "%", "to_address": "+36202222222", "to_station": "%", "text": "Hello world 2!", "create_date": "2021-09-10 15:19:20", "valid_until": "2021-09-17 15:19:20", "time_to_send": "2021-09-10 15:19:20", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" }, { "message_id": "35e56437-15e4-4ee7-9ad4-dfc00a8f7c3a", "from_station": "%", "to_address": "+36203333333", "to_station": "%", "text": "Hello world 3!", "create_date": "2021-09-10 15:19:20", "valid_until": "2021-09-17 15:19:20", "time_to_send": "2021-09-10 15:19:20", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" } ] } }
Python SMS példa: SendMultipleSms.py
Hogyan töltsd le a SendMultipleSMS.py projektet (Videó útmutató)
A következő videóban megtanulhatod, hogyan használhatod a SendMultipleSms.py Python projektet. A videó a letöltési oldallal kezdődik, és végigvezet a megnyitott kódszerkesztő panelig. Megtanulod, hogyan töltsd le és nyisd 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 SendMultipleSms.py.zip mappa része.
Hogyan használd a projektet (Videó útmutató)
A következő klipben láthatod, hogyan indíthatod el a SendMultipleSms.py Python kódot. A videó a megnyitott kóddal kezdődik, és végigvezet az események lapjáig az elküldött üzenet naplójával. Látni fogod, hogyan indítsd el a kódot, és mi történik, ha a kód végrehajtódik. A videó egy 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 a több SMS egy kérésben történő küldésének lépéseit Pythonból.
Ezzel a tudással és a biztosított eszközökkel képesnek kell lenned több ügyfél elérésére 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.
Folytasd a tanulást az Ozeki oktató oldalain, ahol olyan témákról olvashatsz, mint az SMS törlése Pythonban.
Most már csak annyi a dolgod, hogy letöltöd az Ozeki SMS Gateway-t és elkezdesz dolgozni!
More information