Erste Schritte mit Python-Webanwendungen

Einführung

Dieser Artikel ist Zenns Online-Buch

"Einführung in eine selbst erstellte Python-Webanwendung für träge Webingenieure im 3. Jahr"

Dies ist ein Teilauszug aus.

Hier https://qiita.com/bigen1925/items/dde5575da6c45a91808d Bitte lesen Sie auch.

Schreiben Sie einen Webserver in Python

Erstellen wir plötzlich einen Server, der eine Anforderung von einem Browser empfängt und mit Python eine Antwort an den Browser zurückgibt. Das folgende Programm startet als Server an Port 8080 (localhost: 8080) Ihres PCs, schreibt den Inhalt in eine Datei namens server_recv.txt, wenn eine Anfrage vom Browser empfangen wird, und dann server_send.txt Der Inhalt der Datei wird gelesen und als Antwort an den Browser zurückgegeben.

TCPServer.py

import socket


class TCPServer:
    """
Eine Klasse, die einen Server darstellt, der die TCP-Kommunikation ausführt
    """
    def serve(self):
        """
Starten Sie den Server
        """

        print("===Starten Sie den Server===")

        try:
            #Socket generieren
            server_socket = socket.socket()
            server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)

            #Weisen Sie den Socket dem Port 8080 von localhost zu
            server_socket.bind(("localhost", 8080))
            server_socket.listen(10)

            #Warten Sie auf eine Verbindung von außen und stellen Sie eine Verbindung her, wenn eine Verbindung besteht
            print("===Warten Sie auf eine Verbindung vom Client===")
            (client_socket, address) = server_socket.accept()
            print(f"===Die Verbindung mit dem Client ist vollständig remote_address: {address} ===")

            #Holen Sie sich die vom Client gesendeten Daten
            request = client_socket.recv(4096)

            #Schreiben Sie die vom Client gesendeten Daten in eine Datei
            with open("server_recv.txt", "wb") as f:
                f.write(request)

            #Rufen Sie die Antwortdaten ab, die aus der Datei an den Client gesendet werden sollen
            with open("server_send.txt", "rb") as f:
                response = f.read()

            #Senden Sie eine Antwort an den Client
            client_socket.send(response)

            #Kommunikation beenden
            client_socket.close()

        finally:
            print("===Stoppen Sie den Server.===")


if __name__ == '__main__':
    server = TCPServer()
    server.serve()

Erstellen wir auch eine "server_send.txt" für die Rückgabe.

server_send.txt

HTTP/1.1 200 OK
Date: Wed, 28 Oct 2020 07:57:45 GMT
Server: Apache/2.4.41 (Unix)
Content-Location: index.html.en
Vary: negotiate
TCN: choice
Last-Modified: Thu, 29 Aug 2019 05:05:59 GMT
ETag: "2d-5913a76187bc0"
Accept-Ranges: bytes
Content-Length: 45
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html

<html><body><h1>It works!</h1></body></html>

Versuchen Sie, das Programm auszuführen

Wechseln Sie in das Verzeichnis, in dem sich der Quellcode auf der Konsole befindet, und führen Sie das Programm mit dem folgenden Befehl aus.

$ python TCPServer.py
===Starten Sie den Server===
===Warten Sie auf eine Verbindung vom Client===

Lassen Sie die Registerkarte "Konsole" geöffnet und versuchen Sie, in Ihrem Browser auf "http: // localhost: 8080" zuzugreifen.

スクリーンショット 2020-10-26 18.49.04.png

Es wurde sicher als Webseite angezeigt!

Verstehen Sie, wie der Webserver funktioniert

Mit Ausnahme von Kommentaren konnte ich einen ziemlich primitiven Webserver in etwas mehr als einem Dutzend Zeilen betreiben. (Im Moment ist es genauer, es als TCP-Server zu bezeichnen, nicht als weißen Server, der als Webserver bezeichnet werden kann ...)

Der beste Weg zu verstehen, wie alles funktioniert, ist es, es selbst zu machen.

Wenn Sie wissen möchten, wie Webserver und Webframeworks funktionieren, lesen Sie bitte unser Online-Buch. https://zenn.dev/bigen1925/books/e6c9492a82f5e2e10fca/viewer/504d96 Lesen Sie bitte!

Es gibt auch eine Beschreibung des Quellcodes für diesen Artikel.

Recommended Posts

Erste Schritte mit Python-Webanwendungen
1.1 Erste Schritte mit Python
Erste Schritte mit Python
Erste Schritte mit Python
Erste Schritte mit Python Web Scraping Practice
Erste Schritte mit Python Web Scraping Practice
Einführung in Python-Funktionen
Erste Schritte mit Python Django (1)
Erste Schritte mit Python Django (4)
Erste Schritte mit Python Django (3)
Einführung in Python Django (6)
Erste Schritte mit Python Django (5)
Erste Schritte mit Python für PHPer-Klassen
Erste Schritte mit Python Grundlagen von Python
Erste Schritte mit genetischen Python-Algorithmen
Erste Schritte mit Python 3.8 unter Windows
Erste Schritte mit Python für PHPer-Funktionen
Erste Schritte mit Python für PHPer-Super Basics
Erste Schritte mit Dynamo von Python Boto
Django 1.11 wurde mit Python3.6 gestartet
Erste Schritte mit Android!
Erste Schritte mit apache2
Erste Schritte mit Django 1
Einführung in die Optimierung
Erste Schritte mit Numpy
Erste Schritte mit Spark
Erste Schritte mit Pydantic
Erste Schritte mit Jython
Erste Schritte mit Django 2
[FastAPI] Erste Schritte mit FastAPI, einem ASGI-Webframework von Python
Erste Schritte mit Python mit 100 Klopfen bei der Sprachverarbeitung
[Übersetzung] Erste Schritte mit Rust für Python-Programmierer
Einführung in Tornado (1): Python Web Framework mit Tornado gestartet
Erste Schritte mit AWS IoT in Python
Materialien zum Lesen, wenn Sie mit Python beginnen
Einstellungen für den Einstieg in MongoDB mit Python
Übersetzen Erste Schritte mit TensorFlow
Einführung in Tkinter 2: Button
Web Scraping mit Python + JupyterLab
Erste Schritte mit Go Assembly
Erste Schritte mit PKI mit Golang ―― 4
Web-API mit Python + Falcon
Beginnen Sie mit Python! ~ ② Grammatik ~
Erste Schritte mit Django mit PyCharm
Webanwendung mit Python + Flask ② ③
Web Scraping Anfänger mit Python
Optimieren Sie die Websuche mit Python
Webanwendung mit Python + Flask ④
Erste Schritte mit Google App Engine für Python und PHP
Beginnen Sie mit Python! ~ ① Umweltbau ~
Link, um mit Python zu beginnen
Einführung in Git (1) History-Speicher
Erste Schritte mit Sphinx. Generieren Sie Docstring mit Sphinx
Web Scraping mit Python Erster Schritt