Hogyan küldjünk SMS-t F#-ból
A legegyszerűbb módja az SMS küldésének F#-ból az Ozeki SMS Gateway beépített HTTP/Rest SMS API-jának használata. Ezt az API-t használva HTTP POST kérést küldhetsz az SMS gatewaynek. A HTTP POST kérés egy JSON formátumú üzenetet fog tartalmazni. Az SMS gateway elküldi ezt az SMS-t a címzett telefonszámára, és egy HTTP 200 OK választ küld vissza a kérésedre.
F# SMS küldés példakód
Program.fsopen System open Ozeki.Libs.Rest [] let main argv = let configuration = new Configuration ( Username = "http_user", Password = "qwe123", ApiUrl = "http://127.0.0.1:9509/api") let msg = new Message( ToAddress = "+36201111111", Text = "Hello, World!") let api = new MessageApi(configuration) let result = api.Send(msg) printfn $"{result.ToString()}" 0
SendSms.fs letöltése
A cikkben ismertetett forráskód ingyenesen letölthető, felhasználható és módosítható.
Letöltés: SendSms.fs.zip (59.4Kb)
Mi található a SendSms.fs.zip fájlban?
A SendSms.fs.zip fájl tartalmazza az Ozeki.Libs.Rest könyvtárat, amely minden szükséges eszközt biztosít az SMS-ek küldéséhez és fogadásához. A zip fájlban megtalálod a SendSms projektet is, amely tartalmazza a példakódot, amely bemutatja, hogyan küldj SMS-t. Ez a példakód lent látható.
Hogyan küldjünk SMS-t F#-ból (Gyors lépések)
Az SMS küldéséhez F#-ból:
- Telepítsd az Ozeki SMS Gateway-t
- Kapcsold az Ozeki SMS Gateway-t a mobil hálózathoz
- Küldj egy teszt SMS-t az Ozeki GUI-ból
- Hozz létre egy HTTP SMS API felhasználót
- Indítsd el a Visual Studio-t
- Hozz létre egy SendSms.sln nevű megoldást
- Adj hozzá egy F# konzol projektet: SendSms.fsproj
- Helyezd el a kódot a Program.fs vagy SendSms.fs fájlba
- Olvasd el a HTTP választ
- Ellenőrizd a naplókat az SMS gatewayben
Hogyan írd meg első F# programodat (Gyors parancsok)
Az első F# programod írásához:
- Állítsd be a Visual Studio-t
- Töltsd le a SendSms.fs.zip fájlt
- Csomagold ki a .zip fájlt a Letöltések mappából
- Nyisd meg a SendSms.sln fájlt a Visual Studio-ban
- Indítsd el az Ozeki SMS Gateway alkalmazást
- Kattints a HTTP felhasználóra a Felhasználók és alkalmazások lapon
- Futtasd a SendSMS.fs-t a Visual Studio-ban
- Ellenőrizd a Küldött mappát az Ozeki SMS Gateway-ben
- Válaszd az SMPP kliens kapcsolatot a kezdőlapon
- Jelöld be az összes Napló szint jelölőnégyzetet a Konfigurálás menü Speciális lapján
- Futtasd újra a Program.fs-t a Visual Studio-ban
- Találd meg az eseményt, ha a címzett megkapta az üzeneted
Telepítsd az Ozeki SMS Gateway-t és hozz létre egy HTTP API felhasználót
Ahhoz, hogy SMS-t tudj küldeni F#-bó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 Visual Studio-ban fejleszted az F# kódodat. A telepítés után a következő lépés az, hogy csatlakoztad az Ozeki SMS Gateway-t a mobil hálózathoz. Küldhetsz egy teszt SMS-t az Ozeki GUI-ból, hogy ellenőrizd, működik-e a mobil hálózati kapcsolatod. A környezet előkészítésének utolsó lépése, hogy létrehozol egy HTTP SMS API felhasználót. 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 az F# kódodat.
HTTP API URL az SMS küldéséhez F#-ból
Ahhoz, hogy SMS-t küldj F#-ból, az F# alkalmazásodnak HTTP kérést kell küldenie az SMS gatewaynek. Az API URL lent 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 az F# SMS alkalmazás fut, akkor 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 használni.
http://127.0.0.1:9509/api?action=rest
HTTP hitelesítés az SMS küldéséhez F#-ból
Az F# SMS kliens hitelesítéséhez a felhasználónevet és jelszót base64 kódolású sztringként kell elküldeni a szervernek egy HTTP kérésben. A használt formátum: base64(felhasználónév+":"+jelszó). C#-ban a következő kódot használhatod a kódoláshoz:
var encoding = Encoding.GetEncoding("iso-8859-1"); var usernamePassword = username + ":" + password; var usernamePasswordEncoded = Convert.ToBase64String(encoding.GetBytes(usernamePassword));
Például, ha a 'http_user' felhasználónevet és a 'qwe123' jelszót kódolod, a következő base64 kódolású sztringet kapod: aHR0cF91c2VyOnF3ZTEyMw==.
HTTP kérés fejléc az SMS küldéséhez F#-ból
Az SMS üzenetek küldéséhez a következő sorokat kell belefoglalnod fejléc
More information