Krajta

Jak používat Python SimpleHTTPServer

Jak používat Python SimpleHTTPServer

Hlavním úkolem webového serveru je zpracovávat požadavky HTTP od klienta. Čeká na požadavky HTTP přicházející z konkrétní adresy IP a čísla portu, zpracovává požadavek a odesílá odpověď klienta zpět. Python používá SimpleHTTPServer modul pro okamžité vytvoření webového serveru a snadné poskytování obsahu souboru ze serveru. Lze jej použít také pro sdílení souborů. K tomu musíte povolit tento modul s umístěním souborů, které lze sdílet. Tento modul je dodáván s překladačem Pythonu. Nemusíte jej instalovat. Protože je tento modul sloučen s http.serveru modul v python3, takže musíte spustit http.serveru spustit webový server v python3. Jak lze v tomto výukovém programu použít webový server ke zpracování požadavků HTTP a sdílení souborů.

Spusťte webový server z terminálu

Spuštěním následujícího příkazu spusťte webový server z terminálu. Pokud v příkazu není definováno žádné číslo portu, bude webový server standardně spuštěn na 8000 portu.

$ python3 -m http.serveru

Pokud je webový server spuštěn správně, zobrazí se následující výstup. Stisknutím kombinace kláves CTRL + C zastavíte server.


Spuštěním následujícího příkazu spustíte webový server na portu 8080.

$ python3 -m http.server 8080

Následující výstup se zobrazí, pokud je webový server spuštěn na portu 8080.

Spusťte webový server pomocí skriptu Python

Spuštěním následujících příkazů vytvořte složku s názvem web a přejděte do složky. Všechny soubory skriptů a soubory HTML tohoto tutoriálu budou vytvořeny uvnitř této složky.

$ mkdir web
$ cd web

Vytvořte soubor HTML s názvem testHTML.html uvnitř web složka s následujícím skriptem. Tento soubor bude poskytnut z webového serveru později.

testHTML.html



<br>Vyzkoušejte webový server Python<br>



Obrázek nebyl nalezen

Gratuluji! Váš webový server je úspěšně spuštěn.


Návštěva LinuxTip.com Další výukové programy pro Python




Příklad 1: Spusťte webový server pod konkrétním číslem portu

Vytvořte soubor pythonu s následujícím skriptem pro spuštění webového serveru na portu 8008. http.serveru byl importován modul pro spuštění webového serveru a SocketServer modul byl importován pro zpracování požadavku HTTP přicházejícího z portu 8080. Objekt s názvem Psovod byl vytvořen pro zpracování požadavků HTTP. navždy() funkce je volána ke spuštění webového serveru. Do skriptu nebyla přidána žádná podmínka ukončení. Skript tedy vygeneruje chybu, když se uživatel pokusí server zastavit.

# Importovat modul serveru
importovat http.serveru
# Importovat modul SocketServer
importovat soketový server
# Nastavte číslo portu
port = 8080
# Vytvořit objekt pro zpracování požadavků HTTP
Handler = http.serveru.SimpleHTTPRequestHandler
# Spusťte server navždy, abyste mohli zpracovávat požadavky HTTP
se zásuvkovým serverem.TCPServer (("", port), Handler) jako httpd:
print ("Webový server běží na portu http: // localhost:% s"%)
httpd.serve_forever ()

Výstup

Po provedení výše uvedeného skriptu se zobrazí následující výstup.


Seznam souborů a složek umístění skriptu se zobrazí, pokud je v prohlížeči spuštěna následující adresa URL.

http: // localhost: 8080

Pokud uživatel stiskne CTRL + C z terminálu nebo stiskne tlačítko stop z editoru PyCharm, zobrazí se následující chybová zpráva. Tento problém byl vyřešen v dalším příkladu tohoto tutoriálu.

Příklad 2: Spusťte webový server s číslem portu definovaným příkazovým řádkem

Vytvořte soubor pythonu s následujícím skriptem pro spuštění webového serveru na konkrétním portu, pokud argument příkazového řádku udává číslo portu; jinak bude jako výchozí port použito 5000. sys modul byl importován do skriptu ke čtení hodnot argumentů příkazového řádku. zkuste - kromě Do skriptu byl přidán blok pro zpracování chyby, když se uživatel pokusí zastavit server.  Pokud se po spuštění serveru objeví výjimka KeyboardInterrupt, pak zavřít() bude volána funkce k zastavení webového serveru.

# Importovat modul serveru
importovat http.serveru
# Importovat modul SocketServer
importovat soketový server
# Importovat sys modul
import sys
Snaž se:
# Nastavte číslo portu
pokud sys.argv [1:]:
port = int (sys.argv [1])
jiný:
port = 5000
# Nastavte IP adresu
server_address = ('127.0.0.1 ', port)
# Vytvořit objekt pro zpracování požadavků HTTP
Handler = http.serveru.SimpleHTTPRequestHandler
# Spusťte webový server navždy, abyste mohli zpracovávat požadavky HTTP
se zásuvkovým serverem.TCPServer (("", port), Handler) jako httpd:
tisk ("Webový server běží na portu http: // localhost:% s"%)
httpd.serve_forever ()
# Zastavil server
kromě KeyboardInterrupt:
httpd.server_close ()
print ("Server je zastaven.")

Výstup

Následující výstup se zobrazí po provedení výše uvedeného skriptu bez hodnoty argumentu příkazového řádku.

Následující výstup se zobrazí, pokud spustíte soubor HTML, který je vytvořen v předchozím kroku z webového serveru.

Otevřete konfigurační dialogové okno z nabídky Spustit editoru PyCharm a nastavte hodnotu argumentu příkazového řádku. Pole Parametry se používá k nastavení argumentu příkazového řádku a zde se nastaví 3000 jako hodnota argumentu.

Následující výstup se zobrazí, pokud skript znovu spustíte po nastavení hodnoty argumentu.

Příklad 3: Spusťte webový server se souborem HTML

Vytvořte soubor pythonu s následujícím skriptem pro spuštění webového serveru definováním souboru HTML pro základní adresu URL. Název hostitele a číslo portu jsou definovány na začátku skriptu. PythonServer třída ve skriptu definovala zobrazení souboru HTML v prohlížeči při spuštění webového serveru.

# Importujte modul serveru
importovat http.serveru
# Nastavte název hostitele
HOST = "localhost"
# Nastavte číslo portu
PORT = 4000
# Definujte třídu pro zobrazení indexové stránky webového serveru
třída PythonServer (http.serveru.SimpleHTTPRequestHandler):
def do_GET (vlastní):
pokud já.cesta == '/':
já.path = 'testHTML.html '
vrátit http.serveru.SimpleHTTPRequestHandler.do_GET (já)
# Deklarovat objekt třídy
webový server = http.serveru.HTTPServer ((HOST, PORT), PythonServer)
# Vytiskněte adresu URL webového serveru
print ("Server spuštěn http: //% s:% s"% (HOST, PORT))
Snaž se:
# Spusťte webový server
webový server.serve_forever ()
kromě KeyboardInterrupt:
# Zastavte webový server
webový server.server_close ()
print ("Server je zastaven.")

Výstup

Po provedení výše uvedeného skriptu se zobrazí následující výstup.

Pokud se spustí základní adresa URL webového serveru, zobrazí se v prohlížeči následující stránka.

Závěr

Různé způsoby implementace webových serverů pomocí http. serveru modul v tomto výukovém programu ukázal uživatelům pythonu vytvořit jednoduchý webový server v Pythonu.

Hry 5 nejlepších arkádových her pro Linux
5 nejlepších arkádových her pro Linux
V dnešní době jsou počítače vážné stroje používané k hraní her. Pokud nemůžete získat nové vysoké skóre, budete vědět, co tím myslím. V tomto příspěvk...
Hry Battle For Wesnoth 1.13.6 Vývoj uvolněn
Battle For Wesnoth 1.13.6 Vývoj uvolněn
Battle For Wesnoth 1.13.6 vydané minulý měsíc, je šestým vývojovým vydáním v 1.13.série x a přináší řadu vylepšení, zejména do uživatelského rozhraní,...
Hry Jak nainstalovat League Of Legends na Ubuntu 14.04
Jak nainstalovat League Of Legends na Ubuntu 14.04
Pokud jste fanouškem League of Legends, pak je to pro vás příležitost otestovat běh League of Legends. Všimněte si, že LOL je podporován na PlayOnLinu...