Jak usunąć SMS w Python flask

Najprostszym sposobem na usunięcie SMS z Pythona jest użycie wbudowanego interfejsu HTTP/Rest SMS API Ozeki SMS Gateway. Kiedy używasz tego API, usuniesz wiadomości SMS poprzez wysłanie żądania HTTP Post do bramki SMS. Żądanie HTTP Post będzie zawierać identyfikatory wiadomości, które chcemy usunąć, sformatowane w formacie JSON. Bramka SMS zwróci identyfikatory wiadomości, które zostały pomyślnie usunięte, a także zwróci odpowiedź HTTP 200 OK na twoje żądanie.

jak usunąć sms w python flask
Rysunek 1 - Jak usunąć SMS w Python flask

Kod Python do usuwania SMS

Poniższy przykładowy kod Python sms demonstruje, jak możesz usunąć SMS za pomocą interfejsu http rest sms api Ozeki SMS Gateway, używając biblioteki Python ozekilibsrest. Ta biblioteka jest dostarczana bezpłatnie i możesz jej używać oraz modyfikować w dowolnym z twoich projektów.

DeleteSms.py

		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()
	

Kod 1 - DeleteSms.py

DeleteSms.html

		<!DOCTYPE html>
		<html lang="en">
		    <head>
		        <meta charset="UTF-8">
		        <title>Delete SMS with Ozeki SMS Gateway</title>
		        <link rel="stylesheet"
		        href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"
		        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>Folder:</b>
		            <select class="form-control" name="folder">
		                <option value="inbox">Inbox</option>
		                <option value="outbox">Outbox</option>
		                <option value="sent">Sent</option>
		                <option value="notsent">Not sent</option>
		                <option value="deleted">Deleted</option>
		            </select>
		            <input class="btn btn-primary"
		                   style="font-weight: 600;"
		                   type="submit"
		                   name="submit"
		                   value="DELETE">
		        </form>
		        <ul style="width: 40%; margin-left: 30%; height: 40vh; overflow-y: scroll;"
		            class="list-group card">
		            <li class="list-group-item card"><b>Logs:</b></li>
		            {% if logs %}
		                {% for log in logs %}
		                    <li class="list-group-item">{{ log }}</li>
		                {% endfor %}
		            {% endif  %}
		        </ul>
		    </body>
		</html>
	

Kod 2 - DeleteSms.html

Jak używać przykładu Python sms:

Ten przykład Python flask sms może być używany w dowolnej aplikacji Python flask. Aby go użyć, musisz zainstalować pakiet ozekilibsrest za pomocą polecenia pip install ozekilibsrest. Po zainstalowaniu pakietu musisz umieścić dyrektywę from ozekilibsrest import Configuration, Message, MessageApi w sekcji nagłówka twojego kodu źródłowego Python. To pozwoli ci używać klas dostarczonych przez bibliotekę ozekilibsrest. Możesz użyć klasy Message do tworzenia SMS. Możesz użyć klasy MessageApi do wysłania SMS do bramki SMS. Bramka SMS przekaże twoją wiadomość do sieci komórkowej albo przez połączenie bezprzewodowe, albo przez Internet.

Pobierz DeleteSms.py

Kod źródłowy wyjaśniony w tym artykule może być pobrany, używany i modyfikowany bezpłatnie.
Pobierz: DeleteSms.py.zip (1.57Kb)

Co znajduje się w folderze DeleteSms.py?

Folder DeleteSms.py zawiera skrypt przykładu Python flask sms, który pokaże ci, jak usuwać wiadomości SMS za pomocą Pythona.

delete sms py directory
Rysunek 2 - Co znajduje się w DeleteSms.py.zip

Jak zainstalować bibliotekę ozekilibsrest

Aby zainstalować bibliotekę ozekilibsrest, musisz otworzyć wiersz poleceń i użyć następującego polecenia. To zainstaluje bibliotekę ozekilibsrest oraz jej zależności.

		pip install ozekilibsrest
	

Kod 2 - Polecenie do zainstalowania biblioteki ozekilibsrest

Jak zainstalować bibliotekę flask

Aby zainstalować bibliotekę flask, należy otworzyć wiersz poleceń i użyć następującej komendy. Spowoduje to zainstalowanie biblioteki flask oraz wymaganych zależności.

		pip install flask
	

Kod 2 - Komenda do instalacji biblioteki flask

Jak usunąć SMS w Python flask (Szybkie kroki)

Aby usunąć SMS w Python flask:

  1. Pobierz i zainstaluj Python
  2. Zainstaluj bibliotekę ozekilibsrest za pomocą pip lub codna
  3. Zainstaluj flask za pomocą pip lub codna
  4. Pobierz plik DeleteSms.py.zip
  5. Wypakuj plik .zip z folderu Pobrane
  6. Otwórz plik DeleteSms.py w dowolnym edytorze tekstu
  7. Uruchom Ozeki SMS Gateway
  8. Utwórz użytkownika HTTP API w Ozeki
  9. Uruchom kod DeleteSms.py za pomocą wiersza poleceń, aby wysłać testowe wiadomości SMS
  10. Sprawdź skrzynkę Wysłane w Ozeki SMS Gateway

Zainstaluj Ozeki SMS Gateway i utwórz użytkownika HTTP API

Aby móc wysyłać SMS z Python flask, najpierw należy zainstalować Ozeki SMS Gateway. Bramka SMS może być zainstalowana na tym samym komputerze, na którym tworzysz swój kod Python. Po instalacji następnym krokiem jest podłączenie Ozeki SMS Gateway do sieci komórkowej. Możesz utworzenie 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 Python.

URL API HTTP do wysyłania SMS z Python

Aby wysyłać SMS z Python flask, Twój kod Python będzie musiał wysłać żądanie HTTP do bramki SMS. URL API jest pokazany poniżej. Należy zauważyć, ż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 Python flask, 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 z Python flask

Aby uwierzytelnić klienta SMS Python flask, należy wysłać nazwę użytkownika i hasło w zakodowanym ciągu base64 do serwera w żądaniu HTTP. Używany format to: base64(nazwa_użytkownika+":"+hasło). W Pythonie możesz użyć następującego kodu do wykonania tego kodowania:

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

Na przykład, jeśli zakodujesz nazwę użytkownika 'http_user' i hasło 'qwe123', otrzymasz następujący zakodowany ciąg base64: aHR0cF91c2VyOnF3ZTEyMw==.

Nagłówek żądania HTTP do wysyłania SMS z Python flask

Aby wysłać wiadomości SMS, należy uwzględnić następujące linie jako nagłówki w żądaniu HTTP. Należy zauważyć, że zawieramy typ zawartości i nagłówek Authorization.

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

Żądanie HTTP do wysyłania SMS z Python flask

Aby przesłać wiadomości SMS, Twoja aplikacja Python flask wyśle żądanie HTTP podobne do poniższego. Należy zauważyć, że to żądanie zawiera część nagłówka HTTP i część ciała HTTP. Część ciała zawiera identyfikatory wiadomości, które chcemy usunąć.

		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"
			]
		}
	

Odpowiedź HTTP otrzymana przez przykład SMS Python flask

Gdy bramka SMS otrzyma to żądanie, wygeneruje odpowiedź HTTP. Odpowiedź HTTP będzie zawierać kod statusu, aby wskazać, czy żądanie wysłania SMS zakończyło się sukcesem, czy nie. Zwróci również strukturę zakodowaną w JSON, aby dostarczyć przydatne szczegóły dotyczące przesłania wiadomości.

		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"
		    ]
		  }
		}
	

Przykład SMS Python flask: DeleteSms.py

Jak pobrać projekt DeleteSms.py (Samouczek wideo)

W poniższym filmie dowiesz się, jak możesz wykorzystać projekt DeleteSms.py w Python Flask. Film rozpocznie się od strony pobierania i przeprowadzi Cię przez cały proces aż do otwarcia panelu edytora kodu. Nauczysz się, jak pobrać i otworzyć plik z kodem. Film trwa tylko 54 sekundy, ale zawiera wszystkie niezbędne informacje, które pozwolą Ci skutecznie wykorzystać przykładowy plik z kodem.

Wideo 1 - Jak pobrać i otworzyć powyższe rozwiązanie (Samouczek wideo)

Przykładowy kod poniżej jest częścią folderu DeleteSms.py.zip.

jak usunąć sms za pomocą python flask
Rysunek 3 - DeleteSms.py

Rysunek 4 - Uruchamianie przykładowej aplikacji w wierszu poleceń

Rysunek 5 - Wynik działania powyższego kodu w Pythonie

Jak używać projektu (Samouczek wideo)

W poniższym klipie zobaczysz, jak można uruchomić kod DeleteSms.py w Pythonie. Film rozpocznie się od otwartego kodu i przeprowadzi Cię przez cały proces aż do zakładki zdarzeń z logiem wysłanej wiadomości. Zobaczysz, jak uruchomić kod i co się stanie, gdy kod zostanie wykonany. Film jest nieco krótszy niż 1 minuta, ale zawiera wszystkie informacje niezbędne do uruchomienia projektu.

Wideo 2 - Jak używać skryptu DeleteSms.py (Samouczek wideo)

Podsumowanie

W tym artykule pokazano kroki usuwania SMS w jednym żądaniu z Python Flask.

Dzięki tej wiedzy i dostarczonym narzędziom powinieneś być w stanie dotrzeć do wielu klientów za pomocą jednego kodu. Ozeki SMS Gateway odgrywa ważną rolę w tym procesie, ponieważ ten program organizuje dostarczanie wiadomości. Ozeki SMS Gateway działa z wysoką jakością i wydajnością, pozwalając na wysyłanie do 1000 SMS na sekundę.

Kontynuuj naukę na stronach samouczków Ozeki, gdzie możesz przeczytać o tematach takich jak wysyłanie SMS w Python Flask.

Teraz jedyne, co musisz zrobić, to pobrać Ozeki SMS Gateway i zacząć pracę!

More information