24 mar. 2011

Light HTTP Server în 10 secunde

  Bună dimineața dragă cititorule!
  Dorești să faci share la careva fișiere, sau pur și simplu să testezi un micro server HTTP? Utilizezi linux ca sistem de operare? Ai python, preinstalat? Nimic mai simplu! Mergi în directoria pe care o dorești să fie setată ca server root:
  cd /calea/spre/directoria/dorită
Și execută comanda:
  python -m SimpleHTTPServer
  Acum tot ce este în acea directorie, e accesibil pe adresa http://localhost:8000 sau http://127.0.0.1:8000 de pe calculatorul gazdă, și de pe http://[ip-ul real]:8000 (în caz că nu este vreo aplicație ce restricționează accesul pe portul dat). IP-ul ce poate fi privit din extern se poate afla ușor mergând pe pagina: http://www.whatismyip.com/.

  Prin urmare totul se rezumă la o comandă, foarte utilă și comodă în cazurile expuse mai sus în locul serverelor Apache ș.a...

ps. python-ul de obicei este instalat odată cu sistemul de operare.
pps. teoretic această comandă ar trebui să funcționeze și pe w$, dar nu am testat și nici nu m-am documentat în domeniu, pot să zic una, merge perfect prin cygwin de pe windows :]

Nota Bene: Despre acest feature am citit vreo jumătate de an în urmă pe blogul lui Marius Voilă.

UPD: Dacă aveți instalat și python 3, atunci executați
  python2 -m SimpleHTTPServer
pentru că în python3 SimpleHTTPServer a fost comasat cu BaseHttpServer, și utilizarea acestuia e puțin diferită, probabil o să-l iau ca motiv să mai scriu vre-un blogpost mai detaliat pentru acesta.