Com utilitzar Python SimpleHTTPServer

How Use Python Simplehttpserver



La tasca principal del servidor web és gestionar les sol·licituds HTTP del client. Espera les sol·licituds HTTP que provenen de l’adreça IP i del número de port concrets, gestiona la sol·licitud i torna la resposta del client. Python utilitza el fitxer SimpleHTTPServer mòdul per crear un servidor web a l’instant i servir fàcilment el contingut del fitxer des del servidor. També es pot utilitzar per compartir fitxers. Per a això, heu d'activar aquest mòdul amb la ubicació dels fitxers compartibles. Aquest mòdul ve amb l’intèrpret de Python. No cal instal·lar-lo. Atès que aquest mòdul es combina amb el fitxer http.server mòdul a python3, així que heu d’executar http.server per executar el servidor web a python3. En aquest tutorial es mostra com es pot utilitzar el servidor web per gestionar sol·licituds HTTP i compartir fitxers.

Executeu el servidor web des del terminal

Executeu l'ordre següent per executar el servidor web des del terminal. Si no es defineix cap número de port a l'ordre, el servidor web començarà per defecte al port 8000.







$ python3 -m http.servidor



La següent sortida apareixerà si el servidor web s’inicia correctament. Es prem CTRL + C per aturar el servidor.




Executeu l'ordre següent per iniciar el servidor web al port 8080.





$ python3 -m http.servidor 8080

La següent sortida apareixerà si s'inicia el servidor web al port 8080.



Executeu el servidor web mitjançant l'script Python

Executeu les ordres següents per crear una carpeta anomenada web i aneu a la carpeta. Tots els fitxers de script i fitxers HTML d’aquest tutorial es crearan dins d’aquesta carpeta.

web de $ mkdir

$cdweb

Creeu un fitxer HTML anomenat testHTML.html dins del web carpeta amb el següent script. Aquest fitxer es publicarà des del servidor web més endavant.

testHTML.html

< html >

< cap >

< títol >

Proveu el servidor web Python

</ títol >

</ cap >

< cos >

< centre >

< img src='logo.jpeg' tot='No s'ha trobat la imatge'/>

< h2 estil='color: verd'>Enhorabona! El vostre servidor web s'està executant correctament.</ h2 >

< pàg >Visita< a href='Www.linuxhint.com'>LinuxHint.com</ a >per obtenir més tutorials sobre Python</ pàg >

</ centre >

</ cos >

</ html >

Exemple-1: executeu el servidor web al número de port específic

Creeu un fitxer python amb el següent script per executar el servidor web al port 8008. http.server S'ha importat el mòdul per executar el servidor web i el fitxer SocketServer S'ha importat el mòdul per gestionar la sol·licitud HTTP provinent del port 8080. Un objecte anomenat Manipulador s'ha creat per gestionar les sol·licituds HTTP. per sempre () La funció es diu per executar el servidor web. No s'ha afegit cap condició de finalització a l'script. Per tant, l'script generarà un error quan l'usuari intenti aturar el servidor.

# Importa el mòdul de servidor

importacióhttp.servidor

# Importa el mòdul SocketServer

importaciósocketerver


# Definiu el número de port

port= 8080

# Crea un objecte per gestionar les sol·licituds HTTP

Manipulador=http.servidor.SimpleHTTPRequestHandler


# Executeu el servidor per sempre per gestionar les sol·licituds HTTP

ambsocketerver.TCPServer(('',port),Manipulador) comhttpd:

imprimir('El servidor web s'executa a http: // localhost:% s'% port)

httpd.servir_per sempre()

Sortida

La següent sortida apareixerà després d'executar l'script anterior.


La llista dels fitxers i la carpeta de la ubicació de l'script es mostrarà si s'executa l'URL següent des del navegador.

http: // localhost: 8080

Si l'usuari prem CTRL + C des del terminal o prem el botó d'aturada de l'editor PyCharm, es mostrarà el següent missatge d'error. Aquest problema s'ha resolt al següent exemple d'aquest tutorial.

Exemple 2: executeu el servidor web amb el número de port definit per la línia d'ordres

Creeu un fitxer python amb el següent script per executar un servidor web al port concret si l'argument de línia de comandes dóna el número de port; en cas contrari, s'utilitzaran 5000 com a port per defecte. sys S'ha importat el mòdul a l'script per llegir els valors de l'argument de la línia d'ordres. provar-excepte S'ha afegit un bloc a l'script per gestionar l'error quan l'usuari intenta aturar el servidor. Si apareix l'excepció KeyboardInterrupt després d'executar el servidor, llavors Tanca() es cridarà a la funció per aturar el servidor web.

# Importa el mòdul de servidor

importacióhttp.servidor

# Importa el mòdul SocketServer

importaciósocketerver

# Importa el mòdul sys

importació sys


provar:

# Definiu el número de port

si sys.argv[1:]:

port= int(sys.argv[1])

en cas contrari:

port= 5000

# Definiu l'adreça IP

adreça del servidor= ('127.0.0.1',port)

# Crea un objecte per gestionar les sol·licituds HTTP

Manipulador=http.servidor.SimpleHTTPRequestHandler


# Executeu el servidor web per sempre per gestionar les sol·licituds HTTP

ambsocketerver.TCPServer(('',port),Manipulador) comhttpd:

imprimir('El servidor web s'executa a http: // localhost:% s'% port)

httpd.servir_per sempre()

# S'ha aturat el servidor

excepte KeyboardInterrupt:

httpd.servidor_close()

imprimir('El servidor està aturat.')

Sortida

La següent sortida apareixerà després d'executar l'script anterior sense valor d'argument de línia d'ordres.

La següent sortida apareixerà si s'executa el fitxer HTML que s'ha creat al pas anterior des del servidor web.

Obriu el quadre de diàleg de configuració al menú Executa de l'editor PyCharm per establir el valor de l'argument de la línia d'ordres. El camp Paràmetres s’utilitza per establir l’argument de la línia d’ordres i 3000 s’estableix aquí com a valor de l’argument.

La següent sortida apareixerà si torneu a executar l'script després de definir el valor de l'argument.

Exemple 3: executeu el servidor web amb el fitxer HTML

Creeu un fitxer python amb el següent script per executar el servidor web definint el fitxer HTML per a l'URL base. El nom de l'amfitrió i el número de port s'han definit al començament de l'script. PythonServer class ha definit a l'script per mostrar el fitxer HTML al navegador quan el servidor web comença a executar-se.

# Importeu el mòdul de servidor

importacióhttp.servidor


# Definiu el nom de l'amfitrió

HOST= 'localhost'

# Definiu el número de port

PORT= 4000


# Definiu classe per mostrar la pàgina d'índex del servidor web

classePythonServer(http.servidor.SimpleHTTPRequestHandler):

deffer_ OBTENIR(jo mateix):

si jo mateix.Camí == '/':

jo mateix.Camí = 'testHTML.html'

tornarhttp.servidor.SimpleHTTPRequestHandler.fer_ OBTENIR(jo mateix)


# Declarar l'objecte de la classe

servidor web=http.servidor.Servidor HTTPS((HOST,PORT),PythonServer)


# Imprimiu l'URL del servidor web

imprimir('El servidor ha començat http: //% s:% s'%(HOST,PORT))


provar:

# Executeu el servidor web

servidor web.servir_per sempre()

excepte KeyboardInterrupt:

# Atureu el servidor web

servidor web.servidor_close()

imprimir('El servidor està aturat.')

Sortida

La següent sortida apareixerà executant l'script anterior.

La pàgina següent apareixerà al navegador si s’executa l’URL base del navegador del servidor web.

Conclusió

Les diferents maneres d'implementar servidors web mitjançant l'ús http. servidor El mòdul s'ha mostrat en aquest tutorial per ajudar els usuaris de Python a crear un servidor web senzill a Python.