Hogyan töröljünk SMS-t F#-ban

A legegyszerűbb módja SMS küldésének F#-ban a beépített HTTP/Rest SMS API használata az Ozeki SMS Gateway segítségével. Amikor ezt az API-t használod, HTTP POST kéréseket küldesz az SMS gatewaynek. A HTTP POST kérés tartalmazni fog egy JSON formátumú üzenetet. 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.

sms üzenetek törlése f#-ban
1. ábra - SMS üzenetek törlése F#-ban

F# kód SMS törléséhez

Az alábbi F# SMS kódminta bemutatja, hogyan törölhetsz SMS-t az Ozeki SMS Gateway http rest sms API-jával az F# Ozeki.Libs.Rest könyvtár segítségével. Ez a könyvtár ingyenesen elérhető, és bármilyen projektben felhasználhatod és módosíthatod.

Program.fs
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(
        ID = "ba088274-caac-4e45-bf24-10a446d677e5")

    let api = new MessageApi(configuration)

    let result = api.Delete(Folder.Inbox, msg);

    printfn $"{result}"
    0

Az F# SMS példa használata:

Ez az F# SMS példa bármilyen .NET vagy .NET core alkalmazásban használható. A használathoz hozzá kell adnod az Ozeki.Libs.Rest dll-t referenciaként a projektedhez. A projekt referencia hozzáadása után el kell helyezned a using Ozeki.Libs.Rest; direktívát a F# forráskódod fejléc részébe. Ez lehetővé teszi az Ozeki.Libs.Rest könyvtár által nyújtott osztályok használatát. A MessageApi osztály segítségével törölheted az SMS-t az SMS gatewayből.

DeleteSms.fs letöltése

A cikkben ismertetett forráskód ingyenesen letölthető, felhasználható és módosítható.
Letöltés: DeleteSms.fs.zip (44.9Kb)

Mi található a DeleteSms.fs.zip fájlban?

A DeleteSms.fs.zip fájl tartalmazza az Ozeki.Libs.Rest könyvtárat, amely minden szükséges eszközt biztosít SMS üzenetek küldéséhez, jelöléséhez, törléséhez és fogadásához. A zip fájlban található az DeleteSms projekt is, amely tartalmazza a példakódot, amely bemutatja, hogyan törölj egy SMS-t. Ez a példakód az alábbiakban látható.

mi található az ozeki delete sms zip fájlban
2. ábra - Mi található a DeleteSms.fs.zip fájlban

Hogyan töröljünk SMS-t F#-ban (Gyors lépések)

SMS törlése F#-ban:

  1. Telepítsd az Ozeki SMS Gateway-t
  2. Kapcsold az Ozeki SMS Gateway-t a mobil hálózathoz
  3. Küldj egy teszt SMS-t az Ozeki GUI-ból
  4. Hozz létre egy HTTP SMS API felhasználót
  5. Indítsd el a Visual Studio-t
  6. Hozz létre egy DeleteSms.sln nevű megoldást
  7. Adj hozzá egy F# konzol projektet: DeleteSms.fsproj
  8. Helyezd el a kódot a Program.fs vagy DeleteSms.fs fájlba
  9. Hozz létre egy HTTP kérést az SMS törléséhez
  10. Olvasd el a HTTP választ
  11. Írd ki a választ a konzolra
  12. Ellenőrizd a naplókat az SMS gatewayben

Ozeki SMS Gateway telepítése és HTTP API felhasználó létrehozása

Ahhoz, hogy SMS-t törölhess F#-ban, 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 annak ellenőrzésére, hogy a mobil hálózati kapcsolatod működik. A környezet előkészítésének utolsó lépése az, 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állításra került, futtathatod az F# kódodat.

HTTP API URL SMS fogadásához F#-ban

Ahhoz, hogy SMS-t törölhess F#-ban, az F# alkalmazásodnak HTTP kérést kell küldenie az SMS gatewaynek. Az API URL az alábbiakban látható. Fontos, hogy az IP cím (127.0.0.1) helyére az SMS gateway IP címét írd. Ha az Ozeki SMS Gateway ugyanarra a számítógépre van telepítve, ahol az F# SMS alkalmazás fut, ez maradhat 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 törléséhez F#-ban

Az F# SMS kliens hitelesítéséhez a felhasználónevet és a jelszót egy base64 kódolt karakterláncban kell elküldeni a szervernek egy HTTP kérésben. A 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ódolt karakterláncot kapod: aHR0cF91c2VyOnF3ZTEyMw==.

HTTP kérés fejléc SMS törléséhez F#-ban

Az SMS üzenetek törléséhez a következő sorokat kell tartalmaznia a HTTP kérés fejlécének. Figyelj arra, hogy a tartalomtípus és egy Authorization fejléc is szerepel.

Content-Type: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
	

HTTP kérés SMS törléséhez F#-ban

Az SMS kéréséhez az F# alkalmazásod egy olyan HTTP kérést küld, mint az alábbi. Figyelj rá, 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 adatsor. Tartalmazza a mappa nevét és az üzenetek azonosítóit.

POST /api?action=deletemsg HTTP/1.1
Connection: Keep-Alive
Content-Length: 73
Content-Type: application/json
Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw==
Host: 127.0.0.1:9509
{
	"folder":	"inbox",
	"message_ids":	[
		"bc7b1368-b496-4350-ba02-7ba36b770618"
		]
}
	

HTTP válasz az F# SMS példa által fogadva

Amint az SMS gateway megkapja ezt a kérést, generál egy HTTP választ. A HTTP válasz tartalmaz egy státuszkódot, amely jelzi, hogy az SMS beküldése sikeres volt-e vagy sem. Emellett egy JSON kódolt struktúrát is visszaküld, ami hasznos részleteket nyújt az üzenet beküldéséről.

HTTP/1.1 200 OK
User-Agent: OZEKI 10.3.116 (www.myozeki.com)
Content-Type: application/json; charset=utf8
Last-Modified: Thu, 10 Jun 2021 11:02:26 GMT
Server: 10/10.3.116
Transfer-Encoding: chunked
{
	"http_code": 200,
    "response_code": "SUCCESS",
    "response_msg": "",
    "data": {
      "folder": "inbox",
      "message_ids": [
        "bc7b1368-b496-4350-ba02-7ba36b770618"
      ]
    }
}
	

F# SMS példa: DeleteSms.sln


Hogyan töltsd le és használd a DeleteSms projektet (videó útmutató)

Ebben a videóban megtanulod, hogyan töltsd le a DeleteSms F# példaprojektet. A videó a letöltési oldallal kezdődik és a megnyitott projekttel ér véget. Megtanulod, hogyan töltsd le a projektet és mit kell tenned, hogy elkezdhess SMS üzeneteket törölni. A videó mindössze 58 másodperc hosszú, de nagyon hasznos. A részletességnek köszönhetően nem lesz gondod a lépések követésével.

1. videó - Hogyan töltsd le és futtasd a fenti példaprojektet (Videó útmutató)

Az alábbi példakód a DeleteSms.sln Visual Studio Megoldás része. Egy Visual Studio megoldás több projektet és fájlt is tartalmazhat. Ebben a megoldásban csak két projekt található: DeleteSms.fsproj, Ozeki.Libs.Rest.csproj, és egy fájl: Program.fs.

3. ábra - DeleteSms.sln

Hogyan használd a projektet üzenetek törléséhez

Ebben a videóban megtanulod, hogyan használd a projektet SMS üzenetek törléséhez F# segítségével. A videó az Ozeki SMS Gateway megnyitásával kezdődik és egészen az üres bejövő mappa ellenőrzéséig vezet. Megtanulod, hogyan nyithatod meg az Események lapot és láthatod az üzenetekkel kapcsolatos naplókat. A videó mindössze 54 másodperc hosszú és nagyon részletes. Ennek köszönhetően nem lesz gondod az útmutató követésével.

2. videó - Hogyan használd a DeleteSms.fs megoldást (Videó útmutató)

Az F# SMS példa futtatása Windows-on

Amikor Windows-on futtatod ezt az F#-ban írt SMS példát, észreveheted, hogy kicsit jobb a teljesítmény, mint Linux-on. Ennek megértéséhez észben kell tartanod, hogy az F# a .NET keretrendszert használja a kód végrehajtásához. Ez azért van, mert a .NET implementációja Windows-on optimalizált a teljesítményre, míg a mono, a .NET implementációja Linux-on még ezen a téren felzárkózóban van.

Összefoglalás

Ez az útmutató bemutatta, hogyan törölhetsz üzeneteket a bejövő mappából egy F# kóddal és az Ozeki SMS Gateway segítségével. Az üzenetek rendszeres törlése létfontosságú, ha szeretnéd kezelni a tárhelyedet. Ha gondosan követted a lépéseket, az SMS-ek eltávolítása a bejövő mappából egy egyszerű F# kóddal gyors és egyszerű lesz. Az Ozeki SMS Gateway megbízható és könnyen kezelhető, így más funkciók is használhatók rövid és egyszerű lépésekben.

Ne fejezd be itt a tanulmányaidat, nézd meg az Ozeki oktatóanyag oldalát és olvass olyan témákról, mint fogadás F#-ban.

Már csak annyi a teendő, hogy letöltöd az Ozeki SMS Gateway-t és elkezdesz dolgozni!

More information