Python

Kako uporabljati Python SimpleHTTPServer

Kako uporabljati Python SimpleHTTPServer

Glavna naloga spletnega strežnika je obdelava HTTP zahtev odjemalca. Počaka na zahteve HTTP, ki prihajajo z določenega naslova IP in številke vrat, obravnava zahtevo in pošlje odgovor stranke nazaj. Python uporablja SimpleHTTPServer modul za takojšnje ustvarjanje spletnega strežnika in enostavno vstavljanje vsebine datoteke s strežnika. Uporablja se lahko tudi za skupno rabo datotek. Za to morate omogočiti ta modul z lokacijo datotek, ki jih je mogoče deliti z drugimi. Ta modul je opremljen s tolmačem Python. Ni vam treba namestiti. Ker je ta modul združen z http.strežnik modul v python3, zato morate zagnati http.strežnik za zagon spletnega strežnika v python3. Kako se spletni strežnik lahko uporablja za obdelavo zahtev HTTP in skupno rabo datotek, je prikazano v tej vadnici.

Zaženite spletni strežnik s terminala

Zaženite naslednji ukaz za zagon spletnega strežnika s terminala. Če v ukazu ni določena nobena številka vrat, se spletni strežnik privzeto začne z vrati 8000.

$ python3 -m http.strežnik

Če se spletni strežnik pravilno zažene, se prikaže naslednji izhod. Pritisnite CTRL + C, da zaustavite strežnik.


Zaženite naslednji ukaz, da zaženete spletni strežnik na vratih 8080.

$ python3 -m http.strežnik 8080

Naslednji izhod se prikaže, če se spletni strežnik zažene na vratih 8080.

Zaženite spletni strežnik s pomočjo skripta Python

Zaženite naslednje ukaze, da ustvarite mapo z imenom splet in pojdite v mapo. Vse skriptne datoteke in datoteke HTML te vadnice bodo ustvarjene v tej mapi.

$ mkdir splet
$ cd splet

Ustvarite datoteko HTML z imenom testHTML.html znotraj splet mapo z naslednjim skriptom. Ta datoteka bo pozneje na voljo s spletnega strežnika.

testHTML.html



<br>Preizkusite spletni strežnik Python<br>



Slike ni mogoče najti

Čestitam! Vaš spletni strežnik se uspešno izvaja.


Obiščite LinuxHint.com za več vadnic o Pythonu




Primer-1: Zaženite spletni strežnik z določeno številko vrat

Ustvarite datoteko python z naslednjim skriptom, da zaženete spletni strežnik na vratih 8008. http.strežnik modul je bil uvožen za zagon spletnega strežnika in SocketServer modul je bil uvožen za obdelavo zahteve HTTP, ki prihaja iz vrat 8080. Predmet z imenom Vodnik je bil ustvarjen za obdelavo zahtev HTTP. za vedno () funkcija je poklicana za zagon spletnega strežnika. V skriptu ni bil dodan noben pogoj za prekinitev. Torej bo skript ustvaril napako, ko bo uporabnik poskušal zaustaviti strežnik.

# Uvozi strežniški modul
uvozi http.strežnik
# Uvozi modul SocketServer
uvozi strežniški strežnik
# Nastavite številko vrat
vrata = 8080
# Ustvari objekt za obdelavo HTTP zahtev
Vodnik = http.strežnik.SimpleHTTPRequestHandler
# Za vedno zaženite strežnik za obdelavo zahtev HTTP
z vtičnico.TCPServer (("", port), Handler) kot httpd:
print ("Spletni strežnik deluje na http: // localhost:% s"% port)
httpd.serve_forever ()

Izhod

Naslednji izhod se bo prikazal po izvedbi zgornjega skripta.


Če se iz brskalnika zažene naslednji URL, se prikaže seznam datotek in map na mestu skripta.

http: // localhost: 8080

Če uporabnik pritisne CTRL + C s terminala ali pritisne gumb za zaustavitev iz urejevalnika PyCharm, se prikaže naslednje sporočilo o napaki. Ta težava je odpravljena v naslednjem primeru te vadnice.

Primer-2: Zaženite spletni strežnik s številko vrat, določeno z ukazno vrstico

Ustvarite datoteko python z naslednjim skriptom za zagon spletnega strežnika na določenih vratih, če argument ukazne vrstice poda številko vrat; v nasprotnem primeru bo 5000 uporabljenih kot privzeta vrata. sys modul je bil uveden v skriptu za branje vrednosti argumentov ukazne vrstice. poskusite razen blok je bil dodan v skript za obravnavo napake, ko uporabnik poskuša zaustaviti strežnik.  Če se po zagonu strežnika pojavi izjema KeyboardInterrupt, potem zapri () funkcija bo poklicala za zaustavitev spletnega strežnika.

# Uvozi strežniški modul
uvozi http.strežnik
# Uvozi modul SocketServer
uvozi strežniški strežnik
# Uvozi modul sys
uvoz sys
poskusite:
# Nastavite številko vrat
če sys.argv [1:]:
port = int (sys.argv [1])
sicer:
pristanišče = 5000
# Nastavite naslov IP
server_address = ('127.0.0.1 ', vrata)
# Ustvari objekt za obdelavo HTTP zahtev
Vodnik = http.strežnik.SimpleHTTPRequestHandler
# Za vedno zaženite spletni strežnik za obdelavo zahtev HTTP
z vtičnico.TCPServer (("", port), Handler) kot httpd:
print ("Spletni strežnik deluje na http: // localhost:% s"% port)
httpd.serve_forever ()
# Ustavi strežnik
razen KeyboardInterrupt:
httpd.server_close ()
print ("Strežnik je ustavljen.")

Izhod

Naslednji izhod se bo prikazal po izvedbi zgornjega skripta brez vrednosti argumenta ukazne vrstice.

Naslednji izhod se prikaže, če zaženete datoteko HTML, ki je bila ustvarjena v prejšnjem koraku s spletnega strežnika.

Odprite pogovorno okno za konfiguracijo v meniju Zaženi urejevalnika PyCharm, da nastavite vrednost argumenta ukazne vrstice. Polje parametrov se uporablja za nastavitev argumenta ukazne vrstice, 3000 pa je tu nastavljeno kot vrednost argumenta.

Naslednji izhod se prikaže, če skript znova zaženete po nastavitvi vrednosti argumenta.

Primer-3: Zaženite spletni strežnik z datoteko HTML

Ustvarite datoteko python z naslednjim skriptom za zagon spletnega strežnika, tako da določite datoteko HTML za osnovni URL. Ime gostitelja in številka vrat sta določena na začetku skripta. PythonServer class je v skriptu določil prikaz datoteke HTML v brskalniku, ko se spletni strežnik zažene.

# Uvozite strežniški modul
uvozi http.strežnik
# Nastavite ime gostitelja
HOST = "localhost"
# Nastavite številko vrat
PRISTANIŠČE = 4000
# Določite razred za prikaz indeksne strani spletnega strežnika
razred PythonServer (http.strežnik.SimpleHTTPRequestHandler):
def do_GET (samo):
če jaz.pot == '/':
sebe.pot = 'testHTML.html '
vrni http.strežnik.SimpleHTTPRequestHandler.do_GET (samo)
# Prijavi objekt predmeta
webServer = http.strežnik.HTTPServer ((HOST, PORT), PythonServer)
# Natisnite URL spletnega strežnika
print ("Strežnik zagnan http: //% s:% s"% (HOST, PORT))
poskusite:
# Zaženite spletni strežnik
webServer.serve_forever ()
razen KeyboardInterrupt:
# Ustavite spletni strežnik
webServer.server_close ()
print ("Strežnik je ustavljen.")

Izhod

Pri izvajanju zgornjega skripta se bo prikazal naslednji izhod.

Naslednja stran se bo prikazala v brskalniku, če se izvede osnovni URL spletnega strežnika.

Zaključek

Različni načini izvajanja spletnih strežnikov z uporabo http. strežnik modul je v tej vadnici prikazan, da uporabnikom pythona pomaga ustvariti preprost spletni strežnik v Pythonu.

Kako uporabljati GameConqueror Cheat Engine v Linuxu
Članek zajema vodnik o uporabi varalnice GameConqueror v Linuxu. Številni uporabniki, ki igrajo igre v sistemu Windows, pogosto uporabljajo aplikacijo...
Najboljši emulatorji igralne konzole za Linux
V tem članku bo navedena priljubljena programska oprema za emulacijo igralne konzole, ki je na voljo za Linux. Emulacija je sloj združljivosti program...
Najboljši Linux Distros za igre na srečo v letu 2021
Operacijski sistem Linux je daleč od prvotnega, preprostega, strežniškega videza. Ta OS se je v zadnjih letih izjemno izboljšal in se je zdaj razvil v...