Pyton

Jak korzystać z Pythona SimpleHTTPServer

Jak korzystać z Pythona SimpleHTTPServer

Głównym zadaniem serwera WWW jest obsługa żądań HTTP od klienta. Czeka na żądania HTTP przychodzące z określonego adresu IP i numeru portu, obsługuje żądanie i odsyła odpowiedź klienta. Python używa SimpleHTTPSerwer moduł do błyskawicznego tworzenia serwera WWW i łatwego serwowania zawartoś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, które można udostępniać. Ten moduł jest dostarczany z interpreterem Pythona. Nie musisz go instalować. Ponieważ ten moduł jest połączony z http.serwer moduł w python3, więc musisz uruchomić http.serwer uruchomić serwer WWW w python3. W tym samouczku pokazano, w jaki sposób serwer WWW może być używany do obsługi żądań HTTP i udostępniania plików.

Uruchom serwer WWW z terminala

Uruchom następujące polecenie, aby uruchomić serwer internetowy z terminala. Jeśli w poleceniu nie zdefiniowano numeru portu, serwer WWW domyślnie uruchomi się na porcie 8000.

$ python3 -m http.serwer

Następujące dane wyjściowe pojawią się, jeśli serwer sieciowy zostanie uruchomiony poprawnie:. CTRL+C jest wciśnięty, aby zatrzymać serwer.


Uruchom następujące polecenie, aby uruchomić serwer WWW na porcie 8080.

$ python3 -m http.serwer 8080

Następujące dane wyjściowe pojawią się, jeśli serwer WWW zostanie uruchomiony na porcie 808080.

Uruchom serwer WWW za pomocą skryptu Python 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 później udostępniony z serwera WWW.

testHTML.html



<br>Przetestuj serwer WWW Pythona<br>



Nie znaleziono obrazu

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


Wizyta LinuxWskazówka.com aby uzyskać więcej samouczków na temat Pythona




Przykład-1: Uruchom serwer WWW na określonym numerze portu

Utwórz plik Pythona za pomocą następującego skryptu, aby uruchomić serwer WWW na porcie 8008. http.serwer moduł został zaimportowany w celu uruchomienia serwera WWW, a SocketServer został zaimportowany moduł do obsługi żądania HTTP pochodzącego z portu 8080. Obiekt o nazwie Treser został stworzony do obsługi zapytań HTTP. na zawsze() funkcja jest wywoływana, aby uruchomić serwer WWW. Do skryptu nie dodano żadnego warunku zakończenia. Tak więc skrypt wygeneruje błąd, gdy użytkownik spróbuje zatrzymać serwer.

# Importuj moduł serwera
importuj http.serwer
# Importuj moduł SocketServer
importuj serwer gniazd
# Ustaw numer portu
port = 8080
# Utwórz obiekt do obsługi żądań HTTP
Przewodnik = http.serwer.Prosta obsługa żądań HTTP
# Uruchom serwer na zawsze, aby obsłużyć żądania HTTP
z serwerem gniazd.TCPServer(("", port), Handler) jako httpd:
print("Serwer WWW działa pod adresem http://localhost:%s" %port)
httpd.służyć_na zawsze()

Wynik

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


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

http://host lokalny:8080

Jeśli użytkownik naciśnie klawisze CTRL+C z terminala lub naciśnie przycisk stop z edytora PyCharm, zostanie wyświetlony następujący komunikat o błędzie. Ten problem został rozwiązany w następnym przykładzie tego samouczka.

Przykład-2: Uruchom serwer WWW z numerem portu zdefiniowanym w wierszu poleceń

Utwórz plik Pythona z następującym skryptem, aby uruchomić serwer WWW na określonym porcie, jeśli argument wiersza polecenia podaje numer portu; w przeciwnym razie 5000 będzie używany jako domyślny port. system moduł został zaimportowany do skryptu w celu odczytania wartości argumentów wiersza poleceń. spróbuj z wyjątkiem w skrypcie został dodany blok do obsługi błędu, gdy użytkownik próbuje zatrzymać serwer.  Jeśli po uruchomieniu serwera pojawi się wyjątek KeyboardInterrupt, to blisko() zostanie wywołana funkcja zatrzymania serwera WWW.

# Importuj moduł serwera
importuj http.serwer
# Importuj moduł SocketServer
importuj serwer gniazd
# Importuj moduł sys
system importu
próbować:
# Ustaw numer portu
jeśli sys.argv[1:]:
port = int(sys.argv[1])
jeszcze:
port = 5000
# Ustaw adres IP
adres_serwera = ('127.0.0.1', port)
# Utwórz obiekt do obsługi żądań HTTP
Przewodnik = http.serwer.Prosta obsługa żądań HTTP
# Uruchom serwer WWW na zawsze, aby obsłużyć żądania HTTP
z serwerem gniazd.TCPServer(("", port), Handler) jako httpd:
print("Serwer WWW działa pod adresem http://localhost:%s" %port)
httpd.służyć_na zawsze()
# Zatrzymano serwer
z wyjątkiem KeyboardInterrupt:
httpd.server_close()
print("Serwer jest zatrzymany.")

Wynik

Następujące dane wyjściowe pojawią się po wykonaniu powyższego skryptu bez wartości argumentu wiersza poleceń.

Następujące dane wyjściowe pojawią się, jeśli uruchomisz plik HTML, który został utworzony w poprzednim kroku z serwera WWW.

Otwórz okno dialogowe konfiguracji z menu Uruchom edytora PyCharm, aby ustawić wartość argumentu wiersza poleceń. Pole Parametry służy do ustawienia argumentu wiersza poleceń, a 3000 jest tutaj ustawione jako wartość argumentu.

Poniższe dane wyjściowe pojawią się, jeśli ponownie uruchomisz skrypt po ustawieniu wartości argumentu:.

Przykład-3: Uruchom serwer WWW z plikiem HTML

Utwórz plik Pythona za pomocą następującego skryptu, aby uruchomić serwer WWW, definiując plik HTML dla podstawowego adresu URL. Nazwa hosta i numer portu zostały zdefiniowane na początku skryptu. PythonServer klasa została zdefiniowana 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 = "host lokalny"
# Ustaw numer portu
PORT = 4000
# Zdefiniuj klasę, aby wyświetlić stronę indeksu serwera WWW
class PythonServer(http.serwer.Prosta obsługa żądań HTTP):
def do_GET(samo):
jeśli ja.ścieżka == '/':
samego siebie.ścieżka = 'testHTML.html'
zwróć http.serwer.Prosta obsługa żądań HTTP.zrób_GET(samo)
# Zadeklaruj obiekt klasy
serwer WWW = http.serwer.HTTPServer((HOST, PORT), PythonServer)
# Wydrukuj adres URL serwera internetowego
print("Serwer uruchomiony http://%s:%s" % (HOST, PORT))
próbować:
# Uruchom serwer WWW
serwer internetowy.służyć_na zawsze()
z wyjątkiem KeyboardInterrupt:
# Zatrzymaj serwer WWW
serwer internetowy.server_close()
print("Serwer jest zatrzymany.")

Wynik

Następujące dane wyjściowe pojawią się podczas wykonywania powyższego skryptu.

Poniższa strona pojawi się w przeglądarce, jeśli zostanie uruchomiony bazowy adres URL przeglądarki na serwerze sieciowym.

Wniosek

Różne sposoby wdrażania serwerów internetowych za pomocą http. serwer moduł pokazany w tym samouczku, aby pomóc użytkownikom Pythona w stworzeniu prostego serwera WWW w Pythonie.

Gry Zainstaluj najnowszy emulator Dolphin dla Gamecube i Wii w systemie Linux
Zainstaluj najnowszy emulator Dolphin dla Gamecube i Wii w systemie Linux
Emulator Dolphin pozwala grać w wybrane gry Gamecube i Wii na komputerach osobistych z systemem Linux (PC). Będąc ogólnodostępnym emulatorem gier o o...
Gry Jak korzystać z GameConqueror Cheat Engine w systemie Linux
Jak korzystać z GameConqueror Cheat Engine w systemie Linux
Artykuł zawiera przewodnik dotyczący korzystania z silnika oszukującego GameConqueror w systemie Linux. Wielu użytkowników, którzy grają w gry w syste...
Gry Najlepsze emulatory konsoli do gier dla systemu Linux
Najlepsze emulatory konsoli do gier dla systemu Linux
W tym artykule wymienimy popularne oprogramowanie do emulacji konsoli do gier dostępne dla systemu Linux. Emulacja to warstwa kompatybilności oprogram...