SimpleHTTPServer forklaret: Sådan sendes filer ved hjælp af Python

Som webudvikler vil der være et punkt, hvor du har brug for at oprette din egen lokale webserver.

Måske er det fordi du er på en flyvning og vil arbejde på dit projekt langt fra internettjeneste. Eller måske vil du bare have en hurtig måde at få adgang til filer fra en anden computer på dit hjemmenetværk.

Når og hvor behovet opstår, er opsætning af en lokal HTTP-server en nyttig færdighed at have.

Hvad er en HTTP-server?

Kort sagt, en HTTP-server eller webserver er en proces, der kører på en maskine, der lytter efter indgående anmodninger og serverer websider.

For eksempel, når du skriver ind //www.freecodecamp.org/news/i din browser, er der en server et sted, der lytter efter den anmodning. Som svar sender den data tilbage, så din browser kan gengive siden med freeCodeCamp Developer News.

Selvfølgelig sker der meget mere bag kulisserne, men i forbindelse med denne tutorial er det alt, hvad du virkelig har brug for at vide.

Sådan oprettes en lokal HTTP-server

  1. Installer Python
  2. Åbn din kommandoprompt eller terminal, og kør python -V
  3. Gå til dit projekts katalog med cdpå * nix- eller MacOS-systemer eller CDtil Windows
  4. Kør følgende kommandoer for at starte en lokal HTTP-server:
# If python -V returned 2.X.X python -m SimpleHTTPServer # If python -V returned 3.X.X python3 -m http.server # Note that on Windows you may need to run python -m http.server instead of python3 -m http.server

Du vil bemærke, at begge kommandoer ser meget forskellige ud - det ene opkald SimpleHTTPServerog det andet http.server. Dette er bare fordi SimpleHTTPServermodulet blev rullet ind i Pythons http.serveri Python 3. De arbejder begge på samme måde.

Når du nu går til, skal //localhost:8000/du se en liste over alle filerne i din mappe. Derefter kan du bare klikke på den HTML-fil, du vil se.

Bare husk det SimpleHTTPServerog http.serverer kun til at teste ting lokalt. De udfører kun meget grundlæggende sikkerhedskontrol og bør ikke bruges i produktionen.

Sådan sendes filer lokalt

Sådan opretter du et slags hurtigt og beskidt NAS-system (Network Attached Storage):

  1. Sørg for, at begge computere er forbundet via samme netværk via LAN eller WiFi
  2. Åbn din kommandoprompt eller terminal, og kør python -Vfor at sikre, at Python er installeret
  3. Gå til det bibliotek, hvis fil du vil dele ved hjælp af kommandoen cd (skift mappe).
  4. Gå til biblioteket med den fil, du vil dele ved hjælp cdaf * nix- eller MacOS-systemer eller CDtil Windows
  5. Start din HTTP-server med enten python -m SimpleHTTPServerellerpython3 -m http.server
  6. Åbn ny terminal, og skriv ifconfigpå * nix eller MacOS eller ipconfigpå Windows for at finde din IP-adresse

Nu på den anden computer eller enhed:

  1. Åbn browser, og skriv IP-adressen på den første maskine sammen med port 8000: //[ip address]:8000

Der åbnes en side, der viser alle filerne i biblioteket, der deles fra den første computer. Hvis siden tager for lang tid at indlæse, skal du muligvis justere firewallindstillingerne på den første computer.