INTRODUÇÃO
Em muitas aplicações e testes na programação de aplicações ou integração de sistemas, as vezes, necessitamos subir um servidor http num diretório especifico. E ao chamar esse servidor web no browser, queremos ver a lista de arquivos no diretório e clicar nos links para baixar os próprios arquivos do diretório que foi mapeado pelo web server.
Mas, para um usuário comum, isso seria meio que "ridículo", pois no próprio sistema operacional (OS), seja Windows, Linux ou Mac, o próprio OS mostra isso na sua própria interface. Porém quando estamos fazendo integrações entre sistemas e queremos otimizar tarefas, para o sistema em si, é mais prático usar a mesma arquitetura de comunicação (via WEB) pois a aplicação já deve chamar outros endpoints em REST/JSON, SOAP/XML e essa integração seria mais fácil tendo esse servidor mapeando diretórios.
Por outro lado, a aplicação em qualquer linguagem, pode acessar o sistema de arquivos (File System) do próprio OS para ler esses diretórios, mas vamos adotar uma arquitetura única de comunicação usando WEB. Para isso, podemos subir um servidor em várias linguagens, mas vamos mostrar uma ferramenta em python para subir em pouquissimos minutos.
DESENVOLVIMENTO
Entre no console/terminal em linha de comando, acesse a pasta desejada (comandos como cd, ls, pwd). Na pasta desejada execute o seguinte comando:
python -m http.server
ou
python3 -m http.server
RESULTADOS
O comando anterior vai abrir um servidor web em python e ficará disponível na porta 8000.
Para isso, basta acessar o browser e digitar
O resultado deverá mostrar a lista de arquivos daquele diretório desejado.
Para finalizar o servidor é só dar CTRL+C ou fechar o terminal que o servidor web será finalizado.
MAIS CONFIGURAÇÕES
Para poder mudar a porta e mais configurações, execute o comando de ajuda abaixo:
python -m http.server --help
CONCLUSÃO
Conseguimos subir um servidor web em python de forma rápida para testes. Além do python, podemos usar também configurar um agente no Apache Flume em https://logging.apache.org/flume/
Mas esse projeto da Apache será movido para: https://logging.apache.org/dormant.html