Python

Kuidas kasutada Pythoni SimpleHTTPServerit

Kuidas kasutada Pythoni SimpleHTTPServerit

Veebiserveri peamine ülesanne on kliendi HTTP-päringute käsitlemine. See ootab konkreetselt IP-aadressilt ja pordinumbrilt pärinevaid HTTP-päringuid, käsitleb päringut ja saadab kliendi vastuse tagasi. Python kasutab SimpleHTTPServer moodul veebiserveri loomiseks koheselt ja hõlpsalt serveri faili sisu serveerimiseks. Seda saab kasutada ka failide jagamiseks. Selleks peate selle mooduli lubama jagatavate failide asukohaga. Selle mooduliga on kaasas Pythoni tõlk. Te ei pea seda installima. Kuna see moodul on ühendatud http.server moodulit python3, nii et peate käivitama http.server veebiserveri käivitamiseks python3-s. Kuidas veebiserverit saab kasutada HTTP-päringute käsitlemiseks ja failide jagamiseks, on näidatud selles õpetuses.

Käivitage veebiserver terminalist

Veebiserveri käivitamiseks terminalist käivitage järgmine käsk. Kui käsus pole määratletud ühtegi pordi numbrit, algab veebiserver vaikimisi 8000 pordist.

$ python3 -m http.server

Kui veebiserver on õigesti käivitatud, kuvatakse järgmine väljund. Serveri peatamiseks vajutatakse klahvikombinatsiooni CTRL + C.


Veebiserveri käivitamiseks pordist 8080 käivitage järgmine käsk.

$ python3 -m http.server 8080

Kui veebiserver käivitatakse pordis 8080, kuvatakse järgmine väljund.

Käivitage veebiserver Pythoni skripti abil

Nimelise kausta loomiseks käivitage järgmised käsud võrk ja minge kausta. Kõik selle õpetuse skriptifailid ja HTML-failid luuakse selles kaustas.

$ mkdir veeb
$ cd veeb

Looge HTML-fail nimega testHTML.HTML sees võrk kaust järgmise skriptiga. Seda faili serveeritakse hiljem veebiserverist.

testHTML.HTML



<br>Testige Pythoni veebiserverit<br>



Pilti ei leitud

Palju õnne! Teie veebiserver töötab edukalt.


Külasta Linuxi vihje.com rohkem Pythoni õpetusi




Näide 1: käivitage veebiserver konkreetse pordinumbriga

Veebiserveri käivitamiseks pordil 8008 looge järgmise skriptiga pythoni fail. http.server moodul on veebiserveri käitamiseks imporditud ja SocketServer moodul on imporditud 8080 pordist tulevate HTTP-päringute käsitlemiseks. Objekt nimega Handler on loodud HTTP-päringute töötlemiseks. igavesti () funktsiooni kutsutakse veebiserveri käitamiseks. Skripti pole lisatud ühtegi lõpetamistingimust. Niisiis, skript tekitab tõrke, kui kasutaja üritab serverit peatada.

# Serveri mooduli importimine
importida http.server
# Impordi SocketServeri moodul
impordi pistikupesa
# Määrake pordi number
port = 8080
# Loo objekt HTTP-päringute töötlemiseks
Handler = http.server.SimpleHTTPRequestHandler
# HTTP-päringute käsitlemiseks käitage server igavesti
pistikupesaga.TCPServer (("", port), Handler) aadressina httpd:
print ("Veebiserver töötab aadressil http: // localhost:% s"% port)
httpd.serve_forever ()

Väljund

Pärast ülaltoodud skripti käivitamist ilmub järgmine väljund.


Skripti asukoha failide loend ja kaust kuvatakse, kui brauserist käivitatakse järgmine URL.

http: // localhost: 8080

Kui kasutaja vajutab terminalist klahvikombinatsiooni CTRL + C või vajutab PyCharmi redaktori stopp-nuppu, kuvatakse järgmine tõrketeade. See probleem on selle õpetuse järgmises näites lahendatud.

Näide 2: käivitage veebiserver käsureal määratletud pordinumbriga

Kui käsurea argument annab pordi numbri, looge veebiserveri käitamiseks konkreetses pordis järgmise skriptiga pythoni fail; vastasel juhul kasutatakse vaikepordina 5000. sys moodul on skripti imporditud käsurea argumentide väärtuste lugemiseks. proovige välja arvatud Blokeering on skripti lisatud tõrke kõrvaldamiseks, kui kasutaja proovib serveri peatada.  Kui pärast serveri käivitamist ilmub erand KeyboardInterrupt, siis Sulge() Veebiserveri peatamiseks kutsutakse funktsiooni.

# Serveri mooduli importimine
importida http.server
# Impordi SocketServeri moodul
impordi pistikupesa
# Impordi sys moodul
impordi süsteem
proovige:
# Määrake pordi number
kui sys.argv [1:]:
port = int (sys.argv [1])
muu:
port = 5000
# Määrake IP-aadress
serveri aadress = ('127.0.0.1 ', sadam)
# Loo objekt HTTP-päringute töötlemiseks
Handler = http.server.SimpleHTTPRequestHandler
# HTTP-päringute käsitlemiseks käivitage veebiserver igavesti
pistikupesaga.TCPServer (("", port), Handler) aadressina httpd:
print ("Veebiserver töötab aadressil http: // localhost:% s"% port)
httpd.serve_forever ()
# Peatas serveri
välja arvatud KeyboardInterrupt:
httpd.server_close ()
print ("Server on peatatud.")

Väljund

Järgmine väljund ilmub pärast ülaltoodud skripti käivitamist ilma käsurea argumendi väärtuseta.

Järgmine väljund ilmub siis, kui käivitate eelmises etapis loodud veebiserverist HTML-faili.

Käsurea argumendi väärtuse määramiseks avage PyCharmi redaktori menüüs Run käsk konfigureerimise dialoogiboks. Parameetrite välja kasutatakse käsurea argumendi määramiseks ja siin on argumendi väärtuseks määratud 3000.

Kui käivitate skripti uuesti pärast argumendi väärtuse määramist, kuvatakse järgmine väljund.

3. näide: käivitage veebiserver koos HTML-failiga

Veebiserveri käitamiseks looge järgmise skriptiga pythoni fail, määrates HTML-faili põhi-URL-i jaoks. Hosti nimi ja pordi number on skripti alguses määratletud. PythonServer klass on skriptis määranud HTML-faili kuvamiseks brauseris, kui veebiserver töötab.

# Importige serverimoodul
importida http.server
# Määrake hostinimi
HOST = "kohalik host"
# Määrake pordi number
SADAM = 4000
# Määrake klass veebiserveri indekslehe kuvamiseks
klassi PythonServer (http.server.SimpleHTTPRequestHandler):
def do_GET (ise):
kui ise.tee == '/':
ise.tee = 'testHTML.html '
tagastage http.server.SimpleHTTPRequestHandler.do_GET (ise)
# Deklareerida klassi objekt
veebiserver = http.server.HTTPServer ((HOST, PORT), PythonServer)
# Trükkige veebiserveri URL
print ("Server alustas http: //% s:% s"% (HOST, PORT))
proovige:
# Käivitage veebiserver
veebiserver.serve_forever ()
välja arvatud KeyboardInterrupt:
# Peatage veebiserver
veebiserver.server_close ()
print ("Server on peatatud.")

Väljund

Järgmine väljund ilmub ülaltoodud skripti käivitamisel.

Järgmine leht kuvatakse brauseris, kui brauseri veebiserveri põhi-URL käivitub.

Järeldus

Erinevad viisid veebiserverite rakendamiseks rakenduse abil http. server moodul on selles õpetuses näidanud, et aidata pythoni kasutajatel luua Pythonis lihtne veebiserver.

Jäljendage hiireklikke, hõljutades hiirega klõpsutut hiirt Windows 10-s
Hiire või klaviatuuri kasutamine liigses kasutamises vales asendis võib põhjustada palju terviseprobleeme, sealhulgas tüve, karpaalkanali sündroom ja ...
Nende tasuta tööriistade abil lisage Windows 10-le hiire liigutused
Viimastel aastatel on arvutid ja operatsioonisüsteemid palju arenenud. Oli aeg, mil kasutajad pidid failihaldurites navigeerimiseks kasutama käske. Na...
Juhtige ja hallake hiire liikumist mitme kuvari vahel Windows 10-s
Dual Display Mouse Manager võimaldab teil kontrollida ja konfigureerida hiire liikumist mitme monitori vahel, aeglustades selle liikumist piiri läheda...