Crea un server Web istantaneo tramite Terminal Command Line e Python

Vuoi condividere rapidamente un file, testare del codice o trasmettere qualcosa? Puoi creare istantaneamente un server web fuori dalla directory corrente usando nient'altro che python, yup, no apache, nginx, no litespeed, tutto python, che viene fornito con praticamente ogni variazione unix in questi giorni. Il comando è straordinariamente semplice considerando quanto sia utile, e testalo tu stesso apri una finestra di Terminale e qualsiasi browser web.

Questo trucco avvia istantaneamente un semplice server web con nient'altro che Python, funziona su Mac OS X, Linux, FreeBSD e qualsiasi altra piattaforma Unix che abbia Python.

Come avviare un server Web istantaneo con Python

Per creare il server web istantaneo dalla riga di comando, digitare quanto segue in qualsiasi directory si desideri avere accessibile tramite browser e HTTP:

Avvia un server Web semplice in Python 2

python -m SimpleHTTPServer

Avvia Simple Web Server in Python 3

python -m http.server

Questo pubblicherà la directory corrente come un server web immediatamente, quindi se hai un file index.html che verrà immediatamente visualizzato, altrimenti verrà solo elencato il contenuto della directory sul tuo IP localhost o su "0.0.0.0". Si noti che la porta 8000 è l'impostazione di porta predefinita per questa funzione, il che significa che per accedere al server Web da un browser si inserirebbe il seguente indirizzo: http://0.0.0.0:8000

Ricorda, senza un file index.htm o index.html nella directory, una semplice lista di directory di CWD / PWD verrebbe invece visualizzata sul browser.

Una volta eseguito, il terminale si aggiornerà quando le pagine e i dati vengono caricati dal server web Python, mostrando le informazioni di registrazione http standard come le richieste GET e PUSH, i file a cui si accede e da chi, 404 errori, indirizzi IP, date, orari e tutto ciò che ci si aspetterebbe da un log http standard come se si stesse tagliando un file di log di accesso Apache.

Puoi diventare più fan se vuoi e specificare una porta, dando un po 'di oscurità al server web se speri di trasmettere solo qualcosa ad un individuo specifico, o se semplicemente non vuoi che venga mostrato su un standard 8000 portscan. Tutto quello che devi fare è specificare un numero di porta alla fine del comando sopracitato, in questo modo:

python -m SimpleHTTPServer 4104

Ciò renderebbe il server Web avviato nella directory corrente all'IP con la porta 4104, per un esempio assumiamo l'IP localhost: http://127.0.1.14104 o http://0.0.0.0:4104 a seconda del tuo impostazioni.

Questo è un consiglio molto utile se stai facendo un veloce sviluppo del web e vuoi immediatamente controllarlo in un browser o mostrarlo a qualcun altro, e non vuoi prendere il tempo per sftp o eseguirlo su un repository. Questo dovrebbe funzionare su qualsiasi SO unix variante, incluso FreeBSD, Linux, Ubuntu, Redhat e ovviamente anche Mac OS X.

Il video qui sotto mostra un server python lanciato in una directory con un semplice file index.html, mostra anche come il comando python in esecuzione riflette ciò che sta accadendo con la connessione http come un normale log del server http:

Facci sapere se trovi qualche utilizzo particolarmente utile o segreti aggiuntivi per questo piccolo trucco.