Jak odeslat více SMS z Tcl/Tk
Nejjednodušší způsob, jak odeslat více SMS z Tcl/Tk, je použít vestavěné HTTP/Rest SMS API Ozeki SMS Gateway. Když použijete toto API, budete odesílat SMS zprávy odesláním HTTP Post požadavku na SMS bránu. HTTP Post požadavek bude obsahovat zprávu formátovanou ve formátu json. SMS brána odešle tuto SMS na telefon příjemce a vrátí odpověď HTTP 200 OK na váš požadavek.
Tcl/Tk kód pro odeslání SMS na mobil
Ukázka kódu Tcl/Tk pro SMS níže ukazuje, jak můžete odeslat více SMS pomocí HTTP REST SMS API Ozeki SMS Gateway s využitím knihovny Tcl/Tk Ozeki.Libs.Rest. Tato knihovna je poskytována zdarma a můžete ji používat a upravovat v jakémkoli svém projektu.
SendMultipleSms.tclsource Ozeki.Libs.Rest.tcl set configuration [ Configuration new ] $configuration setUsername "http_user" $configuration setPassword "qwe123" $configuration setApiUrl "http://127.0.0.1:9509/api" set msg1 [ Message new ] $msg1 setToAddress "+36201111111" $msg1 setText "Hello world 1" set msg2 [ Message new ] $msg2 setToAddress "+36202222222" $msg2 setText "Hello world 2" set msg3 [ Message new ] $msg3 setToAddress "+36203333333" $msg3 setText "Hello world 3" set api [ MessageApi new $configuration ] set messages [list] lappend messages $msg1 lappend messages $msg2 lappend messages $msg3 set result [ $api send $messages ] puts [ $result toString ]
Jak použít příklad Tcl/Tk pro SMS:
Tento příklad Tcl/Tk pro SMS lze použít v jakékoli aplikaci Tcl/Tk. Pro použití musíte přidat soubor Ozeki.Libs.Rest.tcl do svého projektu. Poté, co je soubor přidán, musíte vložit direktivu source Ozeki.Libs.Rest.tcl do hlavičkové části vašeho zdrojového kódu Tcl/Tk. To vám umožní používat třídy poskytované knihovnou Ozeki.Libs.Rest. Můžete použít třídu Message k vytvoření SMS. Třídu MessageApi můžete použít k odeslání SMS na SMS bránu. SMS brána přepošle vaši zprávu do mobilní sítě buď prostřednictvím bezdrátového připojení nebo přes internet.
Stáhnout SendMultipleSms.tcl
Zdrojový kód vysvětlený v tomto článku lze stáhnout, použít a upravit zdarma.
Stáhnout: SendMultipleSms.tcl.zip (4.17Kb)
Co je v souboru SendMultipleSms.tcl.zip?
Soubor SendMultipleSms.tcl.zip obsahuje knihovnu Ozeki.Libs.Rest, která vám poskytuje všechny nástroje potřebné k odesílání a přijímání SMS zpráv. V zipu také najdete projekt SendMultipleSms, který obsahuje ukázkový kód, který vám ukáže, jak odeslat SMS. Tento ukázkový kód je uveden níže.
Jak odeslat SMS z Tcl/Tk (Jednoduchý návod)
Pro odeslání SMS z Tcl/Tk:
- Nainstalujte uživatele HTTP API
- Povolte Logování komunikačních událostí na kartě Pokročilé
- Stáhněte a nainstalujte knihovnu Tcllib
- Stáhněte a rozbalte soubor SendMultipleSms.tcl.zip
- Otevřete soubor SendMultipleSms.tcl v textovém editoru
- Spusťte aplikaci Ozeki SMS Gateway
- Spusťte kód Tcl/Tk SendMultipleSms.tcl v terminálu
- Zkontrolujte logy, zda byla SMS odeslána
Instalace Ozeki SMS Gateway a vytvoření uživatele HTTP API
Abyste mohli odesílat SMS z Tcl/Tk, musíte nejprve nainstalovat Ozeki SMS Gateway. SMS bránu lze nainstalovat na stejný počítač, kde vyvíjíte svůj kód Tcl/Tk ve Visual studiu. Po instalaci je dalším krokem připojení Ozeki SMS Gateway k mobilní síti. Můžete odeslat testovací SMS z grafického rozhraní Ozeki a ověřit, že vaše připojení k mobilní síti funguje. Posledním krokem k přípravě vašeho prostředí je vytvoření uživatele HTTP SMS API. Vytvořte uživatele s uživatelským jménem "http_user" a heslem "qwe123", aby příklad fungoval bez úprav.
Po nastavení prostředí můžete spustit svůj kód Tcl/Tk.
URL HTTP API pro odesílání SMS z Tcl/Tk
Pro odesílání SMS z Tcl/Tk bude vaše aplikace Tcl/Tk muset odeslat HTTP požadavek na SMS bránu. API URL je uvedeno níže. Všimněte si, že IP adresa (127.0.0.1) by měla být nahrazena IP adresou vaší SMS brány. Pokud je Ozeki SMS Gateway nainstalována na stejném počítači, kde běží vaše aplikace Tcl/Tk pro SMS, může to být 127.0.0.1. Pokud je nainstalována na jiném počítači, měla by to být IP adresa tohoto počítače.
http://127.0.0.1:9509/api?action=rest
HTTP autentizace pro odesílání SMS z Tcl/Tk
Pro ověření klienta SMS v Tcl/Tk musíte odeslat uživatelské jméno a heslo v base64 kódovaném řetězci na server v HTTP požadavku. Použitý formát je: base64(uživatelské_jméno+":"+heslo). V Tcl/Tk můžete použít následující kód pro toto kódování:
set usernamePassword "$username:$password" set usernamePasswordEncoded [ binary encode base64 $usernamePassword ] return "Basic $usernamePasswordEncoded"
Například pokud zakódujete uživatelské jméno 'http_user' a heslo 'qwe123', získáte následující base64 kódovaný řetězec: aHR0cF91c2VyOnF3ZTEyMw==. Pro odeslání
HTTP hlavička požadavku pro odeslání SMS z Tcl/Tk
Pro odeslání SMS zpráv je třeba do HTTP požadavku zahrnout následující řádky jako hlavičky. Všimněte si, že zahrnujeme typ obsahu a autorizační hlavičku.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP požadavek pro odeslání SMS z Tcl/Tk
Pro odeslání SMS bude vaše aplikace Tcl/Tk odesílat HTTP požadavek podobný tomu níže. Všimněte si, že tento požadavek obsahuje část HTTP hlavičky a část těla HTTP. Tělo HTTP je řetězec dat zakódovaný v JSON. Obsahuje čísla příjemců a texty zpráv.
POST /api?action=sendmsg HTTP/1.1 Host: 127.0.0.1:9509 User-Agent: Mozilla/5.0 (Windows; U; Windows NT 10.0) http/2.9.0 Tcl/8.6.9 Connection: close Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw== Accept: */* Accept-Encoding: gzip,deflate,compress Content-Type: application/json Content-Length: 935 { "messages": [ { "message_id": "dbaf5396-a220-424b-bb17-534dc6a92c34", "to_address": "+36201111111", "text": "Hello world 1", "create_date": "2021-08-04T10:28:14", "valid_until": "2021-08-11T10:28:14", "time_to_send": "2021-08-04T10:28:14", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true }, { "message_id": "b884f2c3-555b-416e-bcd4-5d7c653ec3ba", "to_address": "+36202222222", "text": "Hello world 2", "create_date": "2021-08-04T10:28:14", "valid_until": "2021-08-11T10:28:14", "time_to_send": "2021-08-04T10:28:14", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true }, { "message_id": "911092b2-4338-4dc7-97f6-1939a99779f7", "to_address": "+36203333333", "text": "Hello world 3", "create_date": "2021-08-04T10:28:14", "valid_until": "2021-08-11T10:28:14", "time_to_send": "2021-08-04T10:28:14", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true } ] }
HTTP odpověď přijatá příkladem SMS v Tcl/Tk
Jakmile SMS brána obdrží tento požadavek, vygeneruje HTTP odpověď. HTTP odpověď bude obsahovat stavový kód, který indikuje, zda byl požadavek na odeslání SMS úspěšný nebo ne. Vrátí také strukturu zakódovanou v JSON, která vám poskytne užitečné informace o odeslání zprávy.
HTTP/1.1 200 OK Transfer-Encoding: chunked Content-Type: application/json; charset=utf8 Last-Modified: Wed, 04 Aug 2021 08:44:43 GMT Server: 10/10.3.124 Microsoft-HTTPAPI/2.0 User-Agent: OZEKI 10.3.124 (www.myozeki.com) Access-Control-Allow-Origin: * Date: Wed, 04 Aug 2021 08:28:14 GMT Connection: close { "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": "dbaf5396-a220-424b-bb17-534dc6a92c34", "from_station": "%", "to_address": "+36201111111", "to_station": "%", "text": "Hello world 1", "create_date": "2021-08-04 10:28:14", "valid_until": "2021-08-11 10:28:14", "time_to_send": "2021-08-04 10:28:14", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" }, { "message_id": "b884f2c3-555b-416e-bcd4-5d7c653ec3ba", "from_station": "%", "to_address": "+36202222222", "to_station": "%", "text": "Hello world 2", "create_date": "2021-08-04 10:28:14", "valid_until": "2021-08-11 10:28:14", "time_to_send": "2021-08-04 10:28:14", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" }, { "message_id": "911092b2-4338-4dc7-97f6-1939a99779f7", "from_station": "%", "to_address": "+36203333333", "to_station": "%", "text": "Hello world 3", "create_date": "2021-08-04 10:28:14", "valid_until": "2021-08-11 10:28:14", "time_to_send": "2021-08-04 10:28:14", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" } ] } }
Jak odeslat SMS z Tcl/Tk pomocí SMS API Tcl/Tk (Video návod)
Toto video vám ukáže, jak stáhnout soubor SendMultipleSms.tcl.zip z této stránky a jak jeho obsah otevřít v textovém editoru. Pokud se podíváte na video, všimnete si, že obsah SendMultipleSms.tcl zipu je umístěn na plochu. Uvidíte také, že dvakrát klikneme na soubor SendMultipleSms.tcl, abychom otevřeli skript Tcl.
Příklad SMS v Tcl/Tk: SendMultipleSms.tcl
Níže uvedený příklad kódu je součástí souboru SendMultipleSms.tcl.zip. V zipu najdete dva soubory: SendMultipleSms.tcl a Ozeki.Libs.Rest.tcl
Po odeslání SMS je vhodné zkontrolovat vaši SMS bránu, abyste viděli, co přijala. Protokol můžete zkontrolovat otevřením detailů HTTP uživatele v konzoli pro správu Ozeki SMS Gateway. Následující video vám ukáže, na co se zaměřit. Video začne otevřeným kódem a skončí detaily odeslané zprávy. Dozvíte se, jak spustit projekt, jak projekt vypadá během běhu a jak vypadá soubor protokolu po něm. Video je dlouhé pouze 42 sekund a snadno srozumitelné. Nebudete mít problém jej sledovat.
More information
- Td/Tk odeslat SMS pomocí HTTP REST API (ukázka kódu)
- Td/Tk odeslat více SMS pomocí HTTP REST API (ukázka kódu)
- Td/Tk naplánovat SMS pomocí HTTP REST API (ukázka kódu)
- Tcl/Tk přijmout SMS pomocí HTTP REST API (ukázka kódu)
- Tcl/Tk smazat SMS pomocí HTTP REST API (ukázka kódu)
- Jak stáhnout nejnovější Tcl/Tk SMS knihovnu z Githubu