Kako koristiti Python 'SimpleHTTPServer' za kreiranje web servera ili trenutno posluživanje datoteka


SimpleHTTPServer je python modul koji vam omogućava da trenutno kreirate web server ili servirate svoje datoteke u trenu. Glavna prednost pythonovog SimpleHTTPServera je da ne morate ništa da instalirate pošto imate instaliran python interpreter. Ne morate brinuti o python interpreteru jer gotovo sve distribucije Linuxa, python interpreter vam po defaultu dobro dođe.

Takođe možete koristiti SimpleHTTPServer kao metodu dijeljenja datoteka. Morate samo omogućiti modul unutar lokacije na kojoj se nalaze vaši dijeljeni fajlovi. Pokazat ću vam nekoliko demonstracija u ovom članku koristeći različite opcije.

Korak 1: Provjerite instalaciju Pythona

1. Provjerite da li je python instaliran na vašem serveru ili ne, izdavanjem donje naredbe.

python –V 

OR

python  --version

Pokazat će vam verziju python interpretera koji imate i dat će vam poruku o grešci ako nije instaliran.

2. Imate sreće ako je tamo po zadanim postavkama. Manje posla zapravo. Ako slučajno nije instaliran, instalirajte ga slijedeći naredbe ispod.

Ako imate SUSE distribuciju, upišite yast u terminal –> Idite na Upravljanje softverom –> Upišite 'python' bez navodnika –> odaberite python interpreter –> pritisnite razmaknicu i odaberite ga –> i zatim instalirajte to.

Tako jednostavno. Za to morate imati montiran SUSE ISO i konfigurirati ga kao repo od strane YaST-a ili možete jednostavno instalirati python sa weba.

Ako koristite različite operativne sustave kao što su RHEL, CentOS, Debian, Ubuntu ili drugi Linux operativni sustavi, možete jednostavno instalirati python koristeći yum ili apt.

U mom slučaju koristim SLES 11 SP3 OS i python interpreter je standardno instaliran u njemu. U većini slučajeva nećete morati da brinete o instalaciji python interpretera na vaš server.

Korak 2: Kreirajte test direktorij i omogućite SimpleHTTPServer

3. Kreirajte probni direktorij u kojem se nećete petljati sa sistemskim datotekama. U mom slučaju imam particiju koja se zove /x01 i tamo sam napravio direktorij pod nazivom tecmint i dodao sam neke test fajlove za testiranje.

4. Vaši preduslovi su sada spremni. Sve što treba da uradite je da isprobate Pythonov SimpleHTTPServer modul tako što ćete izdati donju komandu unutar vašeg test direktorijuma (u mom slučaju, /x01//).

python –m SimpleHTTPServer

5. Nakon što uspješno omogućite SimpleHTTPServer, počet će posluživati datoteke preko porta broj 8000. Morate samo otvoriti web pretraživač i unijeti ip_address:port_number (u mom slučaju to je 192.168.5.67:8000).

6. Sada kliknite na link 'tecmint' da pregledate datoteke i direktorije tecmint direktorija, pogledajte ekran ispod za referencu.

7. SimpleHTTPServer uspješno opslužuje vaše fajlove. Možete vidjeti šta se dogodilo na terminalu, nakon što ste pristupili svom serveru preko web pretraživača tako što ćete pogledati gdje ste izvršili svoju naredbu.

Korak 3: Promjena porta SimpleHTTPServer

8. Prema zadanim postavkama pythonov SimpleHTTPServer opslužuje datoteke i direktorije preko porta 8000, ali možete definirati drugi broj porta (ovdje koristim port 9999 ) kako želite sa python komandom kao što je prikazano ispod.

python –m SimpleHTTPServer 9999

Korak 4: Poslužite datoteke s druge lokacije

9. Sada kada ste to isprobali, možda biste željeli poslužiti svoje fajlove na određenoj lokaciji bez da zapravo idete na putanju.

Na primjer, ako se nalazite u svom početnom direktoriju i želite svoje datoteke serverirati u /x01/tecmint/ direktoriju bez cd u /x01/tecmint , Da vidimo, kako ćemo to uraditi.

pushd /x01/tecmint/; python –m SimpleHTTPServer 9999; popd;

Korak 5: Poslužite HTML datoteke

10. Ako postoji datoteka index.html koja se nalazi na vašoj lokaciji posluživanja, python interpreter će je automatski otkriti i poslužiti html datoteku umjesto da služi vašim datotekama.

Hajde da to pogledamo. U mom slučaju uključujem jednostavnu html skriptu u datoteku pod nazivom index.html i lociram je u /x01/tecmint/.

<html>
<header><title>TECMINT</title></header>
<body text="blue"><H1>
Hi all. SimpleHTTPServer works fine.
</H1>
<p><a href="https://linux-console.net">Visit TECMINT</a></p>
</body>
</html>

Sada ga sačuvajte i pokrenite SimpleHTTPServer na /x01/tecmint i idite na lokaciju iz web pretraživača.

pushd /x01/tecmint/; python –m SimpleHTTPServer 9999; popd;

Vrlo jednostavno i zgodno. Možete poslužiti svoje datoteke ili vlastiti html kod u trenu. Najbolja stvar je da nećete morati da brinete o instaliranju bilo čega. U scenariju kao što želite podijeliti datoteku s nekim, ne morate kopirati datoteku na dijeljenu lokaciju ili učiniti svoje direktorije dijeljenim.

Samo pokrenite SimpleHTTPServer na njemu i gotovo je. Postoji nekoliko stvari koje morate imati na umu kada koristite ovaj Python modul. Kada poslužuje datoteke, radi na terminalu i ispisuje ono što se tamo događa. Kada mu pristupate iz pretraživača ili preuzimate fajl sa njega, prikazuje se IP adresa na kojoj je pristupljeno i datoteka preuzeta itd. Vrlo zgodno, zar ne?

Ako želite da prestanete sa serviranjem, moraćete da zaustavite pokrenuti modul pritiskom na ctrl+c. Dakle, sada znate kako koristiti pythonov SimpleHTTPServer modul kao brzo rješenje za posluživanje vaših datoteka. Komentiranje u nastavku za prijedloge i nova otkrića bila bi velika usluga za poboljšanje budućih članaka i učenje novih stvari.

Referentne veze

SimpleHTTPServer Docs