Ako vymazať SMS v Python flask

Najjednoduchší spôsob, ako vymazať SMS z Pythonu, je použiť vstavanú HTTP/Rest SMS API Ozeki SMS Gateway. Keď použijete toto API, vymažete SMS správy vydaním HTTP POST požiadavky na SMS bránu. HTTP POST požiadavka bude obsahovať ID správ, ktoré chceme vymazať, formátované v JSON formáte. SMS brána vráti ID správ, ktoré boli úspešne vymazané, a tiež vráti HTTP 200 OK odpoveď na vašu požiadavku.

ako vymazať sms v python flask
Obrázok 1 - Ako vymazať SMS v Python flask

Python kód na vymazanie sms

Ukážka Python SMS kódu nižšie demonštruje, ako môžete vymazať SMS pomocou HTTP REST SMS API Ozeki SMS Gateway pomocou Python knižnice ozekilibsrest. Táto knižnica je poskytovaná bezplatne a môžete ju použiť a upraviť v akomkoľvek z vašich projektov.

DeleteSms.py

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
from flask import Flask, render_template, request
from ozekilibsrest import Configuration, Message, MessageApi, Folder
app = Flask(__name__)
         
configuration = Configuration(
    username="http_user",
    password="qwe123",
    api_url="http://127.0.0.1:9509/api"
)
         
api = MessageApi(configuration)
         
logs = []
         
         
@app.route('/', methods=['GET', 'POST'])
def index():
    if request.method == 'POST':
        message = Message(message_id=request.form['message_id'])
         
        if request.form['folder'] == 'inbox':
            log = api.delete(Folder.Inbox, message)
        elif request.form['folder'] == 'outbox':
            log = api.delete(Folder.Outbox, message)
        elif request.form['folder'] == 'sent':
            log = api.delete(Folder.Sent, message)
        elif request.form['folder'] == 'notsent':
            log = api.delete(Folder.NotSent, message)
        else:
            log = api.delete(Folder.Deleted, message)
        logs.append(log)
    return render_template('DeleteSms.html', logs=logs)
         
         
if __name__ == '__main__':
    app.run()
     

Kód 1 - DeleteSms.py

DeleteSms.html

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Vymazať SMS s Ozeki SMS Gateway</title>
        <link rel="stylesheet"
        integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T"
        crossorigin="anonymous">
    </head>
    <body>
        <form action="/" method="POST" class="form-group"
        style="width: 40%; margin-top: 10vh; margin-left: 30%;
        display: flex; flex-direction: column; height: 30vh;
        justify-content: space-evenly;">
            <b>ID:</b>
            <input class="form-control" type="text"
                   name="message_id" placeholder="ff44c9fb-1494-4457-8f59-5915dc16500d">
            <b>Priečinok:</b>
            <select class="form-control" name="folder">
                <option value="inbox">Doručené</option>
                <option value="outbox">Na odoslanie</option>
                <option value="sent">Odoslané</option>
                <option value="notsent">Neodoslané</option>
                <option value="deleted">Vymazané</option>
            </select>
            <input class="btn btn-primary"
                   style="font-weight: 600;"
                   type="submit"
                   name="submit"
                   value="VYMAZAŤ">
        </form>
        <ul style="width: 40%; margin-left: 30%; height: 40vh; overflow-y: scroll;"
            class="list-group card">
            <li class="list-group-item card"><b>Záznamy:</b></li>
            {% if logs %}
                {% for log in logs %}
                    <li class="list-group-item">{{ log }}</li>
                {% endfor %}
            {% endif  %}
        </ul>
    </body>
</html>
     

Kód 2 - DeleteSms.html

Ako použiť Python SMS príklad:

Tento Python flask SMS príklad môže byť použitý v akejkoľvek Python flask aplikácii. Na jeho použitie musíte nainštalovať balík ozekilibsrest príkazom pip install ozekilibsrest. Po inštalácii balíka musíte vložiť direktívu from ozekilibsrest import Configuration, Message, MessageApi do hlavičkovej časti vášho Python zdrojového kódu. To vám umožní používať triedy poskytované knižnicou ozekilibsrest. Môžete použiť triedu Message na vytvorenie SMS. Môžete použiť triedu MessageApi na odoslanie SMS na SMS bránu. SMS brána prepošle vašu správu do mobilnej siete buď prostredníctvom bezdrôtového pripojenia alebo cez internet.

Stiahnuť DeleteSms.py

Zdrojový kód vysvetlený v tomto článku môže byť stiahnutý a používaný a upravovaný bezplatne.
Stiahnuť: DeleteSms.py.zip (1.57Kb)

Čo je v priečinku DeleteSms.py?

Priečinok DeleteSms.py obsahuje skript Python flask SMS príkladu, ktorý vám ukáže, ako vymazať SMS správy pomocou Pythonu.

priečinok delete sms py
Obrázok 2 - Čo je vo vnútri DeleteSms.py.zip

Ako nainštalovať knižnicu ozekilibsrest

Na inštaláciu knižnice ozekilibsrest musíte otvoriť príkazový riadok a použiť nasledujúci príkaz. Toto nainštaluje knižnicu ozekilibsrest a závislosti, ktoré potrebuje.

1
2
pip install ozekilibsrest
     

Kód 2 - Príkaz na inštaláciu knižnice ozekilibsrest

Ako nainštalovať knižnicu flask

Ak chcete nainštalovať knižnicu flask, musíte otvoriť príkazový riadok a použiť nasledujúci príkaz. Týmto príkazom sa nainštaluje knižnica flask a všetky potrebné závislosti.

1
2
pip install flask
     

Kód 2 - Príkaz na inštaláciu knižnice flask

Ako odstrániť SMS z Python flask (Rýchle kroky)

Ak chcete odstrániť SMS z Python flask:

  1. Stiahnite a nainštalujte Python
  2. Nainštalujte knižnicu ozekilibsrest pomocou pip alebo codna
  3. Nainštalujte flask pomocou pip alebo codna
  4. Stiahnite súbor DeleteSms.py.zip
  5. Rozbaľte súbor .zip z priečinka Stiahnuté
  6. Otvorte súbor DeleteSms.py v ľubovoľnom textovom editore
  7. Spustite Ozeki SMS Gateway
  8. Vytvorte používateľa HTTP API v Ozeki
  9. Spustite kód DeleteSms.py pomocou príkazového riadku na odoslanie testovacích SMS správ
  10. Skontrolujte priečinok Odoslané v Ozeki SMS Gateway
Nainštalujte Ozeki SMS Gateway a vytvorte používateľa HTTP API

Ak chcete odosielať SMS z Python flask, musíte najprv nainštalovať Ozeki SMS Gateway. SMS bránu je možné nainštalovať na rovnakom počítači, kde vyvíjate svoj Python kód. Po inštalácii je ďalším krokom pripojenie Ozeki SMS Gateway k mobilnej sieti. Môžete odoslať testovaciu SMS z Ozeki GUI, aby ste overili, že vaše pripojenie k mobilnej sieti funguje. Posledným krokom pri príprave vášho prostredia je vytvorenie používateľa HTTP SMS API. Vytvorte používateľa s používateľským menom "http_user" a heslom "qwe123", aby príklad fungoval bez úprav.

Po nastavení prostredia môžete spustiť svoj Python kód.

HTTP API URL na odosielanie SMS z Python

Ak chcete odosielať SMS z Python flask, váš Python kód bude musieť odoslať HTTP požiadavku na SMS bránu. API URL je uvedené nižšie. Upozorňujeme, že IP adresa (127.0.0.1) by mala byť nahradená IP adresou vašej SMS brány. Ak je Ozeki SMS Gateway nainštalovaný na rovnakom počítači, kde beží Python flask SMS aplikácia, môže to byť 127.0.0.1. Ak je nainštalovaný na inom počítači, mala by to byť IP adresa toho počítača.

1
2
http://127.0.0.1:9509/api?action=rest
     
HTTP autentifikácia na odosielanie SMS z Python flask

Na overenie klienta Python flask SMS musíte odoslať používateľské meno a heslo v reťazci zakódovanom do base64 na server v HTTP požiadavke. Použitý formát je: base64(používateľské meno+":"+heslo). V Python môžete na toto kódovanie použiť nasledujúci kód:

1
2
3
4
def create_authorization_header(username, password):
    username_password = f'{ username }:{ password }'
    return f'Basic { b64encode(username_password.encode()).decode() }'
     

Napríklad, ak zakódujete používateľské meno 'http_user' a heslo 'qwe123', dostanete nasledujúci reťazec zakódovaný do base64: aHR0cF91c2VyOnF3ZTEyMw==.

HTTP hlavička požiadavky na odosielanie SMS z Python flask

Na odosielanie SMS správ musíte do hlavičky HTTP požiadavky zahrnúť nasledujúce riadky. Upozorňujeme, že obsahujeme hlavičku Content-Type a Authorization.

1
2
3
Content-Type: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
     
HTTP požiadavka na odosielanie SMS z Python flask

Na odoslanie SMS správ vaša Python flask aplikácia odošle HTTP požiadavku podobnú tej nižšie. Upozorňujeme, že táto požiadavka obsahuje časť HTTP hlavičky a časť HTTP tela. Časť tela obsahuje ID správ, ktoré chceme odstrániť.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
POST /api?action=deletemsg 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: 76
         
{
    "folder": "inbox",
    "message_ids": [
        "af5819d4-e32f-4653-a6d4-8fb49017164e"
    ]
}
     
HTTP odpoveď prijatá Python flask SMS príkladom

Keď SMS brána prijme túto požiadavku, vygeneruje HTTP odpoveď. HTTP odpoveď bude obsahovať stavový kód, ktorý indikuje, či bola požiadavka na odoslanie SMS úspešná alebo nie. Tiež vráti štruktúru zakódovanú v JSON, ktorá vám poskytne užitočné informácie o odoslaní správy.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
HTTP/1.1 200 OK
Transfer-Encoding: chunked
Content-Type: application/json; charset=utf8
Last-Modified: Fri, 17 Sep 2021 09:14:01 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, 17 Sep 2021 07:54:08 GMT
         
{
  "http_code": 200,
  "response_code": "SUCCESS",
  "response_msg": "",
  "data": {
    "folder": "inbox",
    "message_ids": [
      "af5819d4-e32f-4653-a6d4-8fb49017164e"
    ]
  }
}
     
Python flask SMS príklad: DeleteSms.py

Ako stiahnuť projekt DeleteSms.py (Video návod)

V nasledujúcom videu sa dozviete, ako môžete použiť projekt DeleteSms.py v Pythone s frameworkom Flask. Video začína na stiahnutí stránky a prevedie vás až k otvorenej panelu editora kódu. Dozviete sa, ako stiahnuť a otvoriť súbor s kódom. Video je dlhé len 54 sekúnd, ale obsahuje všetky potrebné informácie, ktoré potrebujete na úspešné použitie príkladového súboru s kódom.

Video 1 - Ako stiahnuť a otvoriť riešenie vyššie (Video návod)

Príkladový kód nižšie je súčasťou priečinka DeleteSms.py.zip.

ako vymazať sms s python flask
Obrázok 3 - DeleteSms.py

Obrázok 4 - Spustenie príkladovej aplikácie v príkazovom riadku

Obrázok 5 - Výsledok vyššie uvedeného python kódu

Ako použiť projekt (Video návod)

V nasledujúcom klipu uvidíte, ako môžete spustiť Python kód DeleteSms.py. Video začína otvoreným kódom a prevedie vás až k záložke udalostí s záznamom odoslanej správy. Uvidíte, ako spustiť kód a čo sa stane, ak sa kód vykoná. Video je o niečo kratšie ako minúta, ale obsahuje všetky informácie potrebné na spustenie projektu.

Video 2 - Ako použiť skript DeleteSms.py (Video návod)

Záver

Tento článok ukázal kroky na vymazanie SMS v jednom požiadavku z Python flask.

S týmito vedomosťami a poskytnutými nástrojmi by ste mali byť schopní osloviť niekoľko zákazníkov jedným kódom. Ozeki SMS Gateway má dôležitú úlohu v tomto procese, pretože tento program organizuje doručovanie správ. Ozeki SMS Gateway pracuje s vysokou kvalitou a výkonom, čo vám umožňuje odoslať až 1000 SMS za sekundu.

Pokračujte v učení na stránkach s návodmi Ozeki, kde si môžete prečítať o témach ako odosielanie SMS v Python flask.

Teraz už vám stačí len stiahnuť Ozeki SMS Gateway a začať pracovať!

More information