Crea un server Web istantaneo tramite la riga di comando del terminale e Python
Sommario:
Vuoi condividere rapidamente un file, testare del codice o trasmettere qualcosa? Puoi creare istantaneamente un server web dalla directory corrente usando nient' altro che python, sì, niente apache, niente nginx, niente litespeed, tutto python, che viene fornito con praticamente ogni variazione unix in questi giorni. Il comando è straordinariamente semplice considerando quanto sia utile e provalo tu stesso aprendo una finestra di Terminale e qualsiasi browser web.
Questo trucco avvia istantaneamente un semplice server web con nient' altro che python, funziona in Mac OS X, Linux, FreeBSD e qualsiasi altra piattaforma unix che ha python.
Come avviare un server Web istantaneo con Python
Per creare il server web istantaneo dalla riga di comando, digita quanto segue in qualsiasi directory desideri sia 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à immediatamente la directory corrente come server web, quindi se hai un file index.html che verrà immediatamente visualizzato, altrimenti elencherà solo il contenuto della directory sul tuo IP localhost o " 0.0.0.0”. Si noti che la porta 8000 è l'impostazione della porta predefinita per questa funzione, il che significa che per accedere al server Web da un browser è necessario inserire il seguente indirizzo: http://0.0.0.0:8000
Ricorda, senza un file index.htm o index.html nella directory, un semplice elenco di directory di CWD/PWD verrebbe invece mostrato al browser.
Una volta eseguito, il terminale si aggiornerà man mano che le pagine e i dati vengono caricati dal server web python, mostrando informazioni di registrazione http standard come richieste GET e PUSH, a quali file si accede e da chi, errori 404, Indirizzi IP, date, orari e tutto ciò che ti aspetteresti da un registro http standard come se stessi seguendo un file di registro degli accessi Apache.
Puoi diventare più fantasioso se vuoi e specificare una porta, dando un certo livello di oscurità al server web se speri di trasmettere qualcosa solo a un individuo specifico, o se semplicemente non non voglio che appaia su uno standard 8000 portscan.Tutto quello che devi fare è specificare un numero di porta alla fine del suddetto comando, in questo modo:
python -m SimpleHTTPServer 4104
Questo farebbe avviare il server web nella directory corrente all'IP con la porta 4104, ad esempio supponiamo l'IP dell'host locale: http://127.0.0.1:4104 o http:// 0.0.0.0:4104 a seconda delle impostazioni.
Questo è un suggerimento molto utile se stai facendo un rapido sviluppo web e vuoi controllarlo immediatamente in un browser o mostrarlo a qualcun altro, e non vuoi perdere tempo per sftp o eseguirne il commit in un repository. Questo dovrebbe funzionare su qualsiasi variante del sistema operativo unix, inclusi FreeBSD, Linux, Ubuntu, Redhat e, naturalmente, è incluso anche Mac OS X.
Il video qui sotto mostra un server python avviato 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 server http log:
Fateci sapere se trovate usi particolarmente utili o ulteriori segreti per questo piccolo fantastico trucco.