Jak używać Python Simplehttpserver

Jak używać Python Simplehttpserver

Głównym zadaniem serwera internetowego jest obsługa żądań HTTP od klienta. Czeka na żądania HTTP pochodzące z konkretnego adresu IP i numeru portu, obsługuje żądanie i wysyła odpowiedź klienta. Python używa Simplehttpserver moduł do natychmiastowego utworzenia serwera WWW i łatwo obsługi treści pliku z serwera. Może być również używany do udostępniania plików. W tym celu musisz włączyć ten moduł z lokalizacją plików możliwych do udostępniania. Ten moduł jest wyposażony w interpreter Python. Nie musisz go instalować. Ponieważ ten moduł jest połączony z http.serwer moduł w Python3, więc musisz biec http.serwer Aby uruchomić WebServer w Python3. Jak można użyć serwera WWW do obsługi żądania i udostępniania HTTP, zostały pokazane w tym samouczku.

Uruchom serwer WWW z terminalu

Uruchom następujące polecenie, aby uruchomić serwer sieciowy z terminalu. Jeśli w poleceniu nie zostanie zdefiniowany żaden numer portu, WebServer domyślnie uruchomi się od 8000 portów.

$ python3 -m http.serwer

Pojawi się następujące dane wyjściowe, jeśli serwer WWW zostanie uruchomiony poprawnie. CTRL+C jest naciskany, aby zatrzymać serwer.


Uruchom następujące polecenie, aby uruchomić WebServer w porcie 8080.

$ python3 -m http.serwer 8080

Pojawi się następujące dane wyjściowe, jeśli WebServer zostanie uruchomiony w porcie 8080.

Uruchom serwer WWW za pomocą skryptu Python

Uruchom następujące polecenia, aby utworzyć folder o nazwie sieć i przejdź do folderu. Wszystkie pliki skryptów i pliki HTML tego samouczka zostaną utworzone w tym folderze.

$ mkdir Web
$ CD Web

Utwórz plik HTML o nazwie testhtml.html w środku sieć folder z następującym skryptem. Ten plik zostanie dostarczany z serwera WebServer.

testhtml.html



<br>Przetestuj serwer WWW Python<br>




Gratulacje! Twój serwer internetowy działa pomyślnie.


Odwiedzać Linuxhint.com Więcej samouczków na Python




Przykład-1: Uruchom WebServer w określonym numerze portu

Utwórz plik Pythona z następującym skryptem, aby uruchomić WebServer przy porcie 8008. http.serwer Moduł został zaimportowany w celu uruchomienia serwera internetowego i SocketServer Moduł został zaimportowany do obsługi żądania HTTP pochodzącego z portu 8080. Obiekt wymieniony Treser został utworzony do obsługi żądań HTTP. na zawsze() Funkcja jest wywoływana w celu uruchomienia serwera internetowego. Do skryptu nie dodano warunku zakończenia. Tak więc skrypt wygeneruje błąd, gdy użytkownik spróbuje zatrzymać serwer.

# Moduł importu serwera
Importuj http.serwer
# Importuj moduł SocketServer
Import SocketServer
# Ustaw numer portu
port = 8080
# Utwórz obiekt do obsługi żądań HTTP
Handler = http.serwer.SimpleHttPrequestHandler
# Uruchom serwer na zawsze, aby obsłużyć żądania HTTP
z SocketServer.Tcpserver ((„”, port), obsługa) jako httpd:
Drukuj („serwer WWW działa na stronie http: // localhost: %s” %)
httpd.serv_forever ()

Wyjście

Po wykonaniu powyższego skryptu pojawi się następujące dane wyjściowe.


Lista plików i folderu lokalizacji skryptu zostanie wyświetlona, ​​jeśli z przeglądarki zostanie wykonany następujący adres URL.

http: // localhost: 8080

Jeśli użytkownik naciśnie Ctrl+C z terminala lub naciśawia przycisk Stop z edytora PYCharm, zostanie wyświetlony następujący komunikat o błędzie. Ten problem rozwiązał się w następnym przykładzie tego samouczka.

Przykład-2: Uruchom WebServer z numerem portu zdefiniowanym przez linię polecenia

Utwórz plik Python z następującym skryptem, aby uruchomić serwer WWW w danym porcie, jeśli argument wiersza polecenia podaje numer portu; W przeciwnym razie 5000 będzie używane jako dom domyślny. Sys Moduł został zaimportowany w skrypcie, aby odczytać wartości argumentów wiersza poleceń. próba z wyjątkiem Blok został dodany w skrypcie, aby obsłużyć błąd, gdy użytkownik próbuje zatrzymać serwer. Jeśli po uruchomieniu serwera pojawia się wyjątek klawiatury zamknąć() Funkcja zostanie wywołana, aby zatrzymać serwer Web.

# Moduł importu serwera
Importuj http.serwer
# Importuj moduł SocketServer
Import SocketServer
# Importuj moduł SYS
Import Sys
próbować:
# Ustaw numer portu
Jeśli sys.Argv [1:]:
port = int (sys.Argv [1])
w przeciwnym razie:
port = 5000
# Ustaw adres IP
server_address = ('127.0.0.1 ', port)
# Utwórz obiekt do obsługi żądań HTTP
Handler = http.serwer.SimpleHttPrequestHandler
# Uruchom serwer WWW na zawsze, aby obsłużyć żądania HTTP
z SocketServer.Tcpserver ((„”, port), obsługa) jako httpd:
Drukuj („serwer WWW działa na stronie http: // localhost: %s” %)
httpd.serv_forever ()
# Zatrzymałem serwer
Z wyjątkiem klawiatury
httpd.server_close ()
Drukuj („serwer jest zatrzymany.")

Wyjście

Po wykonaniu powyższego skryptu pojawi się następujące dane wyjściowe bez wartości argumentu wiersza polecenia.

Poniższe dane wyjściowe pojawi się, jeśli uruchom plik HTML, który jest tworzony w poprzednim kroku z serwera internetowego.

Otwórz okno dialogowe Konfiguracja z menu Uruchom edytora PYCharm, aby ustawić wartość argumentu wiersza polecenia. Pole parametry służy do ustawienia argumentu wiersza polecenia, a 3000 jest tutaj ustawione jako wartość argumentu.

Następujące dane wyjściowe pojawi się, jeśli ponownie uruchomisz skrypt po ustawieniu wartości argumentu.

Przykład-3: Uruchom WebServer z plikiem HTML

Utwórz plik Python z następującym skryptem, aby uruchomić serwer WebServer, definiując plik HTML dla podstawowego adresu URL. Nazwa hosta i numer portu zdefiniowały się na początku skryptu. Pythonserver Klasa zdefiniowała w skrypcie, aby wyświetlić plik HTML w przeglądarce, gdy serwer WWW zacznie działać.

# Zaimportuj moduł serwera
Importuj http.serwer
# Ustaw nazwę hosta
Host = "localhost"
# Ustaw numer portu
Port = 4000
# Zdefiniuj klasę, aby wyświetlić stronę indeksu serwera WWW
Pythonserver klasy (HTTP.serwer.SimpleHttPrequestHandler):
def do_get (self):
Jeśli ja.ścieżka == '/':
samego siebie.ścieżka = 'testhtml.html '
zwróć http.serwer.SimpleHttPrequestHandler.do_get (self)
# Deklaruj obiekt klasy
WebServer = http.serwer.Httpserver ((host, port), Pythonserver)
# Wydrukuj adres URL serwera internetowego
Drukuj („Serwer uruchomiony http: //%s:%s”%(host, port))
próbować:
# Uruchom serwer WWW
serwer internetowy.serv_forever ()
Z wyjątkiem klawiatury
# Zatrzymaj serwer WWW
serwer internetowy.server_close ()
Drukuj („serwer jest zatrzymany.")

Wyjście

Pojawi się następujące dane wyjściowe wykonywanie powyższego skryptu.

Poniższa strona pojawi się w przeglądarce, jeśli podstawowy adres URL przeglądarki WebServer.

Wniosek

Różne sposoby wdrażania serwerów internetowych za pomocą korzystania z http. serwer Moduł pokazał w tym samouczku, aby pomóc użytkownikom Python w tworzeniu prostego serwera WWW w Python.