Jak odbierać SMS-y z Tcl/Tk
Najprostszym sposobem na odbieranie SMS-ów z Tcl/Tk jest użycie wbudowanego interfejsu HTTP/Rest SMS API Ozeki SMS Gateway. Kiedy używasz tego API, będziesz wysyłać wiadomości SMS poprzez wysłanie żądania HTTP Get do bramki SMS. Żądanie HTTP Get będzie zawierać nazwę folderu, z którego chcemy odbierać SMS-y. Bramka SMS wyśle wiadomości do klienta API Tcl/Tk i zwróci odpowiedź HTTP 200 OK na twoje żądanie.
Kod Tcl/Tk do wysyłania SMS-ów na telefon
Poniższy przykładowy kod SMS Tcl/Tk demonstruje, jak możesz odbierać SMS-y za pomocą interfejsu HTTP REST SMS API Ozeki SMS Gateway, korzystając z biblioteki Tcl/Tk Ozeki.Libs.Rest. Ta biblioteka jest dostarczana bezpłatnie i możesz jej używać oraz modyfikować w dowolnych swoich projektach.
ReceiveSms.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 api [ MessageApi new $configuration ] set result [ $api downloadIncoming ] puts [ $result toString ] for { set i 0 } { $i < [ llength [ $result getMessages ] ] } { incr i } { puts [ [ lindex [ $result getMessages ] $i ] toString ] }
Jak używać przykładu SMS Tcl/Tk:
Ten przykład SMS Tcl/Tk może być używany w dowolnej aplikacji Tcl/Tk. Aby go użyć, musisz dodać plik Ozeki.Libs.Rest.tcl do swojego projektu. Po dodaniu pliku musisz umieścić dyrektywę source Ozeki.Libs.Rest.tcl w sekcji nagłówkowej swojego kodu źródłowego Tcl/Tk. To pozwoli ci korzystać z klas dostarczonych przez bibliotekę Ozeki.Libs.Rest. Możesz użyć klasy Message do tworzenia SMS-ów. Możesz użyć klasy MessageApi do wysyłania SMS-ów do bramki SMS. Bramka SMS przekaże twoją wiadomość do sieci komórkowej poprzez połączenie bezprzewodowe lub przez Internet.
Pobierz ReceiveSms.tcl
Kod źródłowy omówiony w tym artykule można pobrać, używać i modyfikować bezpłatnie.
Pobierz: ReceiveSms.tcl.zip (4.1Kb)
Co znajduje się w pliku ReceiveSms.tcl.zip?
Plik ReceiveSms.tcl.zip zawiera bibliotekę Ozeki.Libs.Rest, która dostarcza wszystkich narzędzi niezbędnych do wysyłania i odbierania wiadomości SMS. W zipie znajdziesz również projekt ReceiveSms, który zawiera przykładowy kod pokazujący, jak wysłać SMS. Ten przykładowy kod jest wymieniony poniżej.
Jak wysyłać SMS-y z Tcl/Tk (Proste wskazówki)
Aby wysyłać SMS-y z Tcl/Tk:
- Zainstaluj użytkownika HTTP API
- Włącz Logowanie zdarzeń komunikacyjnych na karcie Zaawansowane
- Pobierz i zainstaluj bibliotekę Tcllib
- Pobierz, a następnie rozpakuj plik ReceiveSms.tcl.zip
- Otwórz plik ReceiveSms.tcl w edytorze tekstu
- Uruchom aplikację Ozeki SMS Gateway
- Uruchom kod Tcl/Tk ReceiveSms.tcl w terminalu
- Sprawdź logi, aby zobaczyć, czy SMS został wysłany
Zainstaluj Ozeki SMS Gateway i utwórz użytkownika HTTP API
Aby móc wysyłać SMS-y z Tcl/Tk, najpierw musisz utworzenie konta użytkownika HTTP SMS API. Utwórz użytkownika z nazwą "http_user" i hasłem "qwe123", aby przykład działał bez modyfikacji.
Po skonfigurowaniu środowiska możesz uruchomić swój kod Tcl/Tk.
URL API HTTP do wysyłania SMS-ów z Tcl/Tk
Aby wysyłać SMS-y z Tcl/Tk, twoja aplikacja Tcl/Tk będzie musiała wysłać żądanie HTTP do bramki SMS. URL API jest pokazany poniżej. Zauważ, że adres IP (127.0.0.1) powinien zostać zastąpiony adresem IP twojej bramki SMS. Jeśli Ozeki SMS Gateway jest zainstalowany na tym samym komputerze, na którym działa aplikacja SMS Tcl/Tk, może to być 127.0.0.1. Jeśli jest zainstalowany na innym komputerze, powinien to być adres IP tego komputera.
http://127.0.0.1:9509/api?action=rest
Uwierzytelnianie HTTP do wysyłania SMS-ów z Tcl/Tk
Aby uwierzytelnić klienta SMS Tcl/Tk, musisz wysłać nazwę użytkownika i hasło w postaci zakodowanej base64 do serwera w żądaniu HTTP. Format używany to: base64(nazwa_użytkownika+":"+hasło). W Tcl/Tk możesz użyć następującego kodu do wykonania tego kodowania:
set usernamePassword "$username:$password" set usernamePasswordEncoded [ binary encode base64 $usernamePassword ] return "Basic $usernamePasswordEncoded"
Na przykład, jeśli zakodujesz nazwę użytkownika 'http_user' i hasło 'qwe123', otrzymasz następujący zakodowany ciąg base64: aHR0cF91c2VyOnF3ZTEyMw==. Aby wysłać
Nagłówek żądania HTTP do wysyłania SMS-ów z Tcl/Tk
Aby wysłać wiadomości SMS, musisz uwzględnić następujące linie jako nagłówki w żądaniu HTTP. Zauważ, że uwzględniamy typ zawartości i nagłówek Autoryzacji.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Żądanie HTTP do wysłania SMS-a z Tcl/Tk
Aby przesłać SMS, Twoja aplikacja Tcl/Tk wyśle żądanie HTTP podobne do poniższego. Zauważ, że to żądanie zawiera nagłówek HTTP, który zawiera nazwę folderu, z którego chcemy odbierać wiadomości, oraz zakodowane w base64 nazwę użytkownika i hasło.
GET /api?action=receivemsg&folder=inbox 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
Odpowiedź HTTP otrzymana przez przykład SMS w Tcl/Tk
Gdy brama SMS odbierze to żądanie, wygeneruje odpowiedź HTTP. Odpowiedź HTTP będzie zawierać kod statusu, wskazujący, czy żądanie wysłania SMS-a zakończyło się sukcesem czy nie. Zwróci również strukturę zakodowaną w JSON, aby dostarczyć przydatne informacje dotyczące przesłania wiadomości.
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 10:11:34 GMT Connection: close { "http_code": 200, "response_code": "SUCCESS", "response_msg": "", "data": { "folder": "inbox", "limit": "1000", "data": [ { "message_id": "82469c20-8f97-4c72-9d2f-d8224d30722a", "from_connection": "http_user@localhost", "from_address": "+36203333333", "from_station": "%", "to_connection": "http_user@localhost", "to_address": "http_user", "to_station": "%", "text": "Hello world 3", "create_date": "2021-08-04 12:11:28", "valid_until": "2021-08-11 12:11:28", "time_to_send": "2021-08-04 12:11:28", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ] }, { "message_id": "5172aae1-f708-12ca-9115-2d202a084a13", "from_connection": "http_user@localhost", "from_address": "+36202222222", "from_station": "%", "to_connection": "http_user@localhost", "to_address": "http_user", "to_station": "%", "text": "Hello world 2", "create_date": "2021-08-04 12:11:28", "valid_until": "2021-08-11 12:11:28", "time_to_send": "2021-08-04 12:11:28", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ] }, { "message_id": "d5843a47-0ff6-ed10-8875-1c2e6ef8cefc", "from_connection": "http_user@localhost", "from_address": "+36201111111", "from_station": "%", "to_connection": "http_user@localhost", "to_address": "http_user", "to_station": "%", "text": "Hello world 1", "create_date": "2021-08-04 12:11:28", "valid_until": "2021-08-11 12:11:28", "time_to_send": "2021-08-04 12:11:28", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ] } ] } }
Jak wysłać SMS z Tcl/Tk za pomocą API SMS Tcl/Tk (Samouczek wideo)
Ten film pokazuje, jak pobrać plik ReceiveSms.tcl.zip z tej strony i jak pobrać jego zawartość w edytorze tekstu. Jeśli obejrzysz film, zauważysz, że zawartość pliku zip ReceiveSms.tcl jest umieszczana na Pulpicie. Zobaczysz również, że dwukrotnie klikamy na plik ReceiveSms.tcl, aby otworzyć skrypt tcl.
Przykład SMS w Tcl/Tk: ReceiveSms.tcl
Poniższy przykładowy kod jest częścią pliku ReceiveSms.tcl.zip. W pliku zip znajdziesz dwa pliki: ReceiveSms.tcl oraz Ozeki.Libs.Rest.tcl.
Jak sprawdzić, czy SMS został zaakceptowany przez użytkownika HTTP (Samouczek wideo)
Po przesłaniu SMS-a warto sprawdzić w bramie SMS, co zostało odebrane. Możesz sprawdzić log, otwierając szczegóły użytkownika HTTP w konsoli zarządzania bramą SMS Ozeki. Poniższy film pokazuje, na co zwrócić uwagę. Film rozpoczyna się od otwartego kodu i kończy się szczegółami wysłanej wiadomości. Dowiesz się, jak uruchomić projekt, jak wygląda projekt podczas działania i jak wygląda plik log po jego zakończeniu. Film trwa tylko 42 sekundy i jest łatwy do zrozumienia. Nie będziesz miał problemu z jego śledzeniem.
More information
- Td/Tk wyślij SMS za pomocą interfejsu HTTP REST API (przykładowy kod)
- Td/Tk wyślij wiele SMS za pomocą interfejsu HTTP REST API (przykładowy kod)
- Td/Tk zaplanuj SMS za pomocą interfejsu HTTP REST API (przykładowy kod)
- Tcl/Tk odbierz SMS za pomocą interfejsu HTTP REST API (przykładowy kod)
- Tcl/Tk usuń SMS za pomocą interfejsu HTTP REST API (przykładowy kod)
- Jak pobrać najnowszą bibliotekę Tcl/Tk SMS z Github