Piton

A Python SimpleHTTPServer használata

A Python SimpleHTTPServer használata

A webszerver fő feladata az ügyfél HTTP-kéréseinek kezelése. Várja az adott IP-címről és portszámról érkező HTTP-kéréseket, kezeli a kérést és visszaküldi az ügyfél válaszát. A Python a SimpleHTTPServer modul segítségével webkiszolgálót hozhat létre azonnal és egyszerűen kiszolgálja a fájl tartalmát a szerverről. Fájlmegosztáshoz is használható. Ehhez engedélyeznie kell ezt a modult a megosztható fájlok helyével. Ez a modul a Python tolmácshoz tartozik. Nem kell telepítenie. Mivel ez a modul egyesítve van a http.szerver modul a python3-ban, tehát futtatnia kell http.szerver hogy futtassa a webszervert python3-ban. Az oktatóanyag bemutatja, hogyan használható a webkiszolgáló a HTTP kérések kezelésére és a fájlok megosztására.

Futtassa a webkiszolgálót a terminálról

Futtassa a következő parancsot a webszerver futtatásához a terminálról. Ha a parancsban nincs meghatározva portszám, akkor a webszerver alapértelmezés szerint 8000-es portról indul.

$ python3 -m http.szerver

A következő kimenet jelenik meg, ha a webszerver megfelelően indul. A CTRL + C megnyomásával leállíthatja a szervert.


A következő parancs futtatásával indítsa el a webszervert a 8080-as portnál.

$ python3 -m http.szerver 8080

A következő kimenet jelenik meg, ha a webszervert a 8080-as portnál indítják.

Futtassa a webkiszolgálót Python szkript segítségével

Futtassa a következő parancsokat egy nevű mappa létrehozásához web és menj a mappába. Az oktatóanyag összes szkriptfájlja és HTML-fájlja ebben a mappában lesz létrehozva.

$ mkdir web
$ cd web

Hozzon létre egy HTML nevű fájlt tesztHTML.html benne web mappát a következő szkript segítségével. Ezt a fájlt később a webszerver szolgáltatja ki.

tesztHTML.html



<br>Tesztelje a Python webkiszolgálót<br>



A kép nem található

Gratulálok! A webkiszolgáló sikeresen fut.


Látogatás LinuxHint.com további oktatóanyagok a Pythonról




1. példa: Futtassa a webszervert a megadott portszámmal

Hozzon létre egy python fájlt a következő szkript segítségével a webszerver futtatásához a 8008-as porton. http.szerver a webszerver futtatásához importálták a modult, és a SocketServer a 8080-as portról érkező HTTP-kérelem kezelésére importálták a modult. Nevű objektum Handler a HTTP kérések kezelésére létrehozva. örökké() függvényt hívják a webszerver futtatására. A szkripthez nem adtak felmondási feltételt. Tehát a szkript hibát generál, amikor a felhasználó megpróbálja leállítani a szervert.

# Szerver modul importálása
importálja a http-et.szerver
# Importálja a SocketServer modult
importálja a socket szervert
# Állítsa be a portszámot
port = 8080
# Hozzon létre objektumot a HTTP kérések kezeléséhez
Handler = http.szerver.SimpleHTTPRequestHandler
# Futtassa a szervert örökre a HTTP kérések kezeléséhez
konnektorral.TCPServer (("", port), Handler), mint httpd:
nyomtatás ("A webkiszolgáló a következő címen fut: http: // localhost:% s"% port)
httpd.serve_forever ()

Kimenet

A fenti kimenet a fenti parancsfájl végrehajtása után jelenik meg.


Ha a következő URL-t futtatja a böngészőből, akkor megjelenik a fájlok és a szkript helyének mappája.

http: // localhost: 8080

Ha a felhasználó megnyomja a CTRL + C gombot a terminálról, vagy megnyomja a Stop gombot a PyCharm szerkesztőből, a következő hibaüzenet jelenik meg. Ez a probléma megoldódott az oktatóanyag következő példájában.

2. példa: Futtassa a webszervert a parancssor által megadott portszámmal

Hozzon létre egy python fájlt a következő szkript segítségével egy webkiszolgáló futtatásához az adott porton, ha a parancssori argumentum megadja a portszámot; ellenkező esetben 5000 lesz az alapértelmezett port. sys modult importálták a parancsfájlba a parancssori argumentumértékek olvasására. próbálja-kivéve blokk került hozzáadásra a szkriptben a hiba kezelésére, amikor a felhasználó megpróbálja leállítani a kiszolgálót.  Ha a kiszolgáló futtatása után megjelenik a KeyboardInterrupt kivétel, akkor a Bezárás() függvény hívja le a webszerver leállítását.

# Szerver modul importálása
importálja a http-et.szerver
# Importálja a SocketServer modult
importálja a socket szervert
# Sys modul importálása
import sys
próbáld ki:
# Állítsa be a portszámot
ha sys.argv [1:]:
port = int (sys.argv [1])
más:
port = 5000
# Állítsa be az IP-címet
szerver_cím = ('127.0.0.1 ', port)
# Hozzon létre objektumot a HTTP kérések kezeléséhez
Handler = http.szerver.SimpleHTTPRequestHandler
# A webkiszolgálót futtassa örökre a HTTP kérések kezeléséhez
konnektorral.TCPServer (("", port), Handler), mint httpd:
nyomtatás ("A webkiszolgáló a következő címen fut: http: // localhost:% s"% port)
httpd.serve_forever ()
# Leállította a szervert
kivéve a KeyboardInterrupt:
httpd.server_close ()
print ("A kiszolgáló le van állítva.")

Kimenet

A következő kimenet a fenti parancsfájl parancssori argumentumérték nélküli végrehajtása után jelenik meg.

A következő kimenet akkor jelenik meg, ha az előző lépésben létrehozott HTML-fájlt futtatja a webszerverről.

Nyissa meg a PyCharm szerkesztő Futtatás menüjéből a konfigurációs párbeszédpanelt a parancssori argumentum értékének beállításához. A Parameters mező a parancssori argumentum beállítására szolgál, és itt 3000 értéket állítunk be argumentumértékként.

A következő kimenet jelenik meg, ha az argumentumérték beállítása után újra futtatja a parancsfájlt.

3. példa: Futtassa a webszervert a HTML-fájllal

Hozzon létre egy Python fájlt a következő szkript segítségével a webszerver futtatásához, meghatározva az alap URL HTML fájlját. A hosztnév és a portszám a szkript elején van meghatározva. PythonServer osztály meghatározta a szkriptben, hogy a web fájl megjelenítésekor megjelenítse a HTML fájlt a böngészőben.

# Importálja a kiszolgáló modult
importálja a http-et.szerver
# Állítsa be a gazdagép nevét
HOST = "localhost"
# Állítsa be a portszámot
KIKÖTŐ = 4000
# Definiálja az osztályt a webszerver indexoldalának megjelenítéséhez
osztály PythonServer (http.szerver.SimpleHTTPRequestHandler):
def do_GET (én):
ha önmaga.elérési út == '/':
maga.path = 'testHTML.html '
return http.szerver.SimpleHTTPRequestHandler.do_GET (self)
# Deklarálja az osztály objektumát
webszerver = http.szerver.HTTPServer ((HOST, PORT), PythonServer)
# Nyomtassa ki a webszerver URL-jét
nyomtatás ("A szerver elindította http: //% s:% s"% (HOST, PORT))
próbáld ki:
# Futtassa a webszervert
web szerver.serve_forever ()
kivéve a KeyboardInterrupt:
# Állítsa le a webszervert
web szerver.server_close ()
print ("A kiszolgáló le van állítva.")

Kimenet

A következő kimenet jelenik meg a fenti parancsfájl végrehajtásával.

A következő oldal jelenik meg a böngészőben, ha a webszerver böngészőjének alap URL-je végrehajtódik.

Következtetés

A webkiszolgálók használatának különböző módjai http. szerver modul bemutatta ebben az oktatóanyagban, hogy segítsen a python felhasználóknak egy egyszerű webszerver létrehozásában a Pythonban.

Microsoft Sculpt Touch vezeték nélküli egér áttekintés
Nemrég olvastam a Microsoft Sculpt Touch vezeték nélküli egér és úgy döntött, hogy megveszi. Egy ideig használat után úgy döntöttem, hogy megosztom ve...
AppyMouse képernyős Trackpad és egérmutató a Windows táblagépekhez
A táblagép-felhasználók gyakran hiányolják az egérmutatót, különösen akkor, ha szokták használni a laptopokat. Az érintőképernyős okostelefonok és táb...
Az egér középső gombja nem működik a Windows 10 rendszerben
A középső egérgomb segít átgörgetni a hosszú weboldalakat és a sok adatot tartalmazó képernyőket. Ha ez leáll, akkor a billentyűzet segítségével görge...