Piton

Cum se utilizează Python SimpleHTTPServer

Cum se utilizează Python SimpleHTTPServer

Sarcina principală a serverului web este de a gestiona solicitările HTTP de la client. Așteptă cererile HTTP care vin de la adresa IP și numărul portului, gestionează cererea și trimite răspunsul clientului înapoi. Python folosește SimpleHTTPServer modul pentru a crea un server web instantaneu și pentru a servi cu ușurință conținutul fișierului de pe server. Poate fi folosit și pentru partajarea de fișiere. Pentru aceasta, trebuie să activați acest modul cu locația fișierelor care pot fi partajate. Acest modul vine cu interpretul Python. Nu este nevoie să-l instalați. Deoarece acest modul este combinat cu http.Server modul în python3, deci trebuie să rulați http.Server pentru a rula serverul web în python3. Modul în care serverul web poate fi utilizat pentru a gestiona cererile HTTP și pentru a partaja fișiere, a fost prezentat în acest tutorial.

Rulați serverul web de la terminal

Rulați următoarea comandă pentru a rula serverul web de la terminal. Dacă în comandă nu este definit niciun număr de port, serverul web va începe în mod implicit la 8000 de porturi.

$ python3 -m http.Server

Următoarea ieșire va apărea dacă serverul web este pornit corect. CTRL + C este apăsat pentru a opri serverul.


Rulați următoarea comandă pentru a porni serverul web la portul 8080.

$ python3 -m http.server 8080

Următoarea ieșire va apărea dacă serverul web este pornit la portul 8080.

Rulați serverul Web utilizând scriptul Python

Rulați următoarele comenzi pentru a crea un folder numit web și mergeți la dosar. Toate fișierele script și fișierele HTML ale acestui tutorial vor fi create în acest folder.

$ mkdir web
$ cd web

Creați un fișier HTML numit testHTML.html în interiorul web folder cu următorul script. Acest fișier va fi transmis mai târziu de pe serverul web.

testHTML.html



<br>Testați serverul web Python<br>



Imagine negasita

Felicitări! Serverul dvs. web rulează cu succes.


Vizita LinuxHint.com pentru mai multe tutoriale pe Python




Exemplu-1: Rulați serverul web în numărul portului specific

Creați un fișier python cu următorul script pentru a rula serverul web la portul 8008. http.Server Modulul a fost importat pentru a rula serverul de web și fișierul SocketServer modulul a fost importat pentru a gestiona cererea HTTP care vine de la portul 8080. Un obiect numit Handler a fost creat pentru a gestiona solicitările HTTP. pentru totdeauna() funcția este apelată pentru a rula serverul web. Nu a fost adăugată nicio condiție de reziliere la script. Deci, scriptul va genera o eroare atunci când utilizatorul încearcă să oprească serverul.

# Modul server de import
importă http.Server
# Importați modulul SocketServer
import socketerver
# Setați numărul portului
port = 8080
# Creați obiect pentru gestionarea solicitărilor HTTP
Handler = http.Server.SimpleHTTPRequestHandler
# Rulați serverul pentru totdeauna pentru a gestiona solicitările HTTP
cu socketerver.TCPServer (("", port), Handler) ca httpd:
print ("Serverul Web rulează la portul http: // localhost:% s"%)
httpd.serve_forever ()

Ieșire

Următoarea ieșire va apărea după executarea scriptului de mai sus.


Lista fișierelor și a folderului locației scriptului va fi afișată dacă următoarea adresă URL este executată din browser.

http: // localhost: 8080

Dacă utilizatorul apasă CTRL + C de la terminal sau apasă butonul de oprire din editorul PyCharm, va fi afișat următorul mesaj de eroare. Această problemă a fost rezolvată în următorul exemplu al acestui tutorial.

Exemplu-2: Rulați serverul web cu numărul portului definit de linia de comandă

Creați un fișier python cu următorul script pentru a rula un server web la portul respectiv dacă argumentul liniei de comandă dă numărul portului; în caz contrar, 5000 va fi folosit ca port implicit. sys modulul a fost importat în script pentru a citi valorile argumentului din linia de comandă. încercați-cu excepția bloc a fost adăugat în script pentru a gestiona eroarea atunci când utilizatorul încearcă să oprească serverul.  Dacă apare excepția KeyboardInterrupt după rularea serverului, atunci închide() funcția va fi apelată pentru a opri serverul web.

# Modul server de import
importă http.Server
# Importați modulul SocketServer
import socketerver
# Importați modulul sys
import sisteme
încerca:
# Setați numărul portului
dacă sys.argv [1:]:
port = int (sys.argv [1])
altceva:
port = 5000
# Setați adresa IP
server_address = ('127.0.0.1 ', port)
# Creați obiect pentru gestionarea solicitărilor HTTP
Handler = http.Server.SimpleHTTPRequestHandler
# Rulați serverul web pentru totdeauna pentru a gestiona solicitările HTTP
cu socketerver.TCPServer (("", port), Handler) ca httpd:
print ("Serverul Web rulează la portul http: // localhost:% s"%)
httpd.serve_forever ()
# Oprit serverul
cu excepția KeyboardInterrupt:
httpd.server_close ()
print ("Serverul este oprit.")

Ieșire

Următoarea ieșire va apărea după executarea scriptului de mai sus fără valoarea argumentului din linia de comandă.

Următoarea ieșire va apărea dacă rulați fișierul HTML creat în pasul anterior de pe serverul web.

Deschideți caseta de dialog de configurare din meniul Run al editorului PyCharm pentru a seta valoarea argumentului din linia de comandă. Câmpul Parametri este utilizat pentru a seta argumentul liniei de comandă, iar 3000 este setat aici ca valoare a argumentului.

Următoarea ieșire va apărea dacă rulați din nou scriptul după ce ați setat valoarea argumentului.

Exemplu-3: Rulați serverul web cu fișierul HTML

Creați un fișier python cu următorul script pentru a rula serverul web definind fișierul HTML pentru adresa URL de bază. Numele gazdei și numărul portului au fost definite la începutul scriptului. PythonServer class a definit în script pentru a afișa fișierul HTML în browser când serverul web începe să ruleze.

# Importați modulul server
importă http.Server
# Setați numele gazdei
HOST = "localhost"
# Setați numărul portului
PORT = 4000
# Definiți clasa pentru a afișa pagina index a serverului web
clasa PythonServer (http.Server.SimpleHTTPRequestHandler):
def do_GET (self):
dacă eul.cale == '/':
de sine.cale = 'testHTML.html '
returnează http.Server.SimpleHTTPRequestHandler.face_GET (auto)
# Declarați obiectul clasei
webServer = http.Server.HTTPServer ((HOST, PORT), PythonServer)
# Imprimați adresa URL a serverului web
print („Serverul a început http: //% s:% s”% (HOST, PORT))
încerca:
# Rulați serverul web
webServer.serve_forever ()
cu excepția KeyboardInterrupt:
# Opriți serverul web
webServer.server_close ()
print ("Serverul este oprit.")

Ieșire

Următoarea ieșire va apărea executând scriptul de mai sus.

Următoarea pagină va apărea în browser dacă se execută URL-ul de bază al browserului de pe webserver.

Concluzie

Diferitele moduri de implementare a serverelor web prin utilizarea http. Server modulul a arătat în acest tutorial pentru a ajuta utilizatorii Python să creeze un server web simplu în Python.

Tutorial Shadow of the Tomb Raider pentru Linux
Shadow of the Tomb Raider este a douăsprezecea completare a seriei Tomb Raider - o franciză de jocuri de acțiune-aventură creată de Eidos Montreal. Jo...
Cum se mărește FPS în Linux?
FPS înseamnă Cadre pe secundă. Sarcina FPS este de a măsura rata de cadre în redările video sau în performanțele jocului. În cuvinte simple, numărul d...
Cele mai bune jocuri Oculus App Lab
Dacă sunteți proprietarul căștilor Oculus, atunci trebuie să fiți informați despre încărcarea laterală. Încărcarea laterală este procesul de instalare...