Pitone

Come usare Python SimpleHTTPServer

Come usare Python SimpleHTTPServer

Il compito principale del server web è gestire le richieste HTTP dal client. Attende le richieste HTTP provenienti dal particolare indirizzo IP e numero di porta, gestisce la richiesta e restituisce la risposta del client. Python usa il SimpleHTTPServer modulo per creare un server web istantaneamente e servire facilmente il contenuto del file dal server. Può essere utilizzato anche per la condivisione di file. Per questo, devi abilitare questo modulo con la posizione dei file condivisibili. Questo modulo viene fornito con l'interprete Python. Non è necessario installarlo. Poiché questo modulo è unito a http.server modulo in python3, quindi devi eseguire http.server per eseguire il server web in python3. In questo tutorial è stato mostrato come utilizzare il server Web per gestire la richiesta HTTP e condividere file share.

Esegui il Web Server dal terminale

Esegui il seguente comando per eseguire il server web dal terminale. Se nel comando non è definito alcun numero di porta, il server web si avvierà per impostazione predefinita alla porta 8000.

$ python3 -m http.server

Il seguente output apparirà se il server web è avviato correttamente. CTRL+C viene premuto per fermare il server.


Esegui il seguente comando per avviare il server web sulla porta 8080.

$ python3 -m http.server 8080

Il seguente output apparirà se il webserver è avviato sulla porta 8080.

Esegui il server Web usando lo script Python

Esegui i seguenti comandi per creare una cartella denominata ragnatela e vai alla cartella. Tutti i file di script e i file HTML di questo tutorial verranno creati all'interno di questa cartella.

$ mkdir web
$ cd web

Crea un file HTML chiamato testHTML.html dentro il ragnatela cartella con il seguente script. Questo file verrà servito dal server web in seguito.

testHTML.html



<br>Testa il server Web Python<br>



Immagine non trovata

Congratulazioni! Il tuo server web è in esecuzione con successo.


Visitare LinuxSuggerimento.come per ulteriori tutorial su Python




Esempio 1: eseguire il server web nel numero di porta specifico

Crea un file python con il seguente script per eseguire il server web alla porta 8008. http.server è stato importato per eseguire il server web, e il and SocketServer il modulo è stato importato per gestire la richiesta HTTP proveniente dalla porta 8080. Un oggetto chiamato Gestore è stato creato per gestire le richieste HTTP. per sempre() viene chiamata la funzione per eseguire il server web. Nessuna condizione di terminazione è stata aggiunta allo script. Quindi, lo script genererà un errore quando l'utente tenta di fermare il server.

# Importa modulo server
importa http.server
# Importa modulo SocketServer
import socketserver
# Imposta il numero di porta
porta = 8080
# Crea un oggetto per gestire le richieste HTTP
Gestore = http.server.SimpleHTTPRequestHandler
# Esegui il server per sempre per gestire le richieste HTTP
con socketserver.TCPServer(("", porta), Gestore) come httpd:
print("Il server Web è in esecuzione su http://localhost:%s" %port)
httpd.servire_per sempre()

Produzione

Il seguente output verrà visualizzato dopo aver eseguito lo script sopra.


L'elenco dei file e della cartella della posizione dello script verrà mostrato se il seguente URL viene eseguito dal browser.

http://localhost:8080

Se l'utente preme CTRL+C dal terminale o preme il pulsante stop dall'editor PyCharm, verrà visualizzato il seguente messaggio di errore. Questo problema è stato risolto nel prossimo esempio di questo tutorial.

Esempio 2: eseguire il server web con il numero di porta definito dalla riga di comando

Crea un file python con il seguente script per eseguire un server web su una particolare porta se l'argomento della riga di comando fornisce il numero di porta; in caso contrario, 5000 verrà utilizzato come porta predefinita. sistema il modulo è stato importato nello script per leggere i valori degli argomenti della riga di comando. prova-tranne il blocco è stato aggiunto nello script per gestire l'errore quando l'utente tenta di arrestare il server.  Se viene visualizzata l'eccezione KeyboardInterrupt dopo aver eseguito il server, il vicino() verrà chiamata la funzione per arrestare il server web.

# Importa modulo server
importa http.server
# Importa modulo SocketServer
import socketserver
# Importa modulo sys
sistema di importazione
provare:
# Imposta il numero di porta
se sys.argomento[1:]:
porta = int(sys.arv[1])
altro:
porta = 5000
# Imposta l'indirizzo IP
server_address = ('127.0.0.1', porto)
# Crea un oggetto per gestire le richieste HTTP
Gestore = http.server.SimpleHTTPRequestHandler
# Esegui il server web per sempre per gestire le richieste HTTP
con socketserver.TCPServer(("", porta), Gestore) come httpd:
print("Il server Web è in esecuzione su http://localhost:%s" %port)
httpd.servire_per sempre()
# Arrestato il server
tranne KeyboardInterrupt:
httpd.server_close()
print("Il server è fermo.")

Produzione

Il seguente output verrà visualizzato dopo aver eseguito lo script precedente senza il valore dell'argomento della riga di comando.

Il seguente output apparirà se si esegue il file HTML creato nel passaggio precedente dal server web.

Aprire la finestra di dialogo di configurazione dal menu Esegui dell'editor PyCharm per impostare il valore dell'argomento della riga di comando. Il campo Parametri viene utilizzato per impostare l'argomento della riga di comando e 3000 è impostato qui come valore dell'argomento.

Il seguente output apparirà se esegui di nuovo lo script dopo aver impostato il valore dell'argomento.

Esempio 3: esegui il server web con il file HTML

Crea un file python con il seguente script per eseguire il server web definendo il file HTML per l'URL di base. Il nome host e il numero di porta sono definiti all'inizio dello script. PythonServer la classe ha definito nello script per visualizzare il file HTML nel browser quando il server web inizia a funzionare.

# Importa il modulo server
importa http.server
# Imposta il nome host
HOST = "host locale"
# Imposta il numero di porta
PORTA = 4000
# Definisci la classe per visualizzare la pagina dell'indice del server web
class PythonServer(http.server.SimpleHTTPRequestHandler):
def do_GET(self):
se stesso.percorso == '/':
se stesso.percorso = 'testHTML.html'
ritorna http.server.SimpleHTTPRequestHandler.do_GET(te stesso)
# Dichiara l'oggetto della classe
webServer = http.server.HTTPServer((HOST, PORT), PythonServer)
# Stampa l'URL del server web
print("Server avviato http://%s:%s" % (HOST, PORT))
provare:
# Esegui il server web
server web.servire_per sempre()
tranne KeyboardInterrupt:
# Arresta il server web
server web.server_close()
print("Il server è fermo.")

Produzione

Il seguente output apparirà eseguendo lo script sopra.

La pagina seguente apparirà nel browser se viene eseguito l'URL di base del browser del server web web.

Conclusione

I diversi modi di implementare i server web utilizzando by http. server modulo ha mostrato in questo tutorial per aiutare gli utenti Python a creare un semplice server web in Python.

Come mostrare il contatore FPS nei giochi Linux
I giochi Linux hanno avuto una grande spinta quando Valve ha annunciato il supporto Linux per il client Steam e i loro giochi nel 2012. Da allora, mol...
Come scaricare e giocare a Sid Meier's Civilization VI su Linux
Introduzione al gioco Civilization 6 è una versione moderna del concetto classico introdotto nella serie dei giochi Age of Empires. L'idea era abbasta...
Come installare e giocare a Doom su Linux
Introduzione a Doom La serie Doom è nata negli anni '90 dopo l'uscita dell'originale Doom. È stato un successo immediato e da quel momento in poi la s...