Como usar Python 'SimpleHTTPServer' para criar um servidor Web ou servir arquivos instantaneamente
SimpleHTTPServer é um módulo python que permite criar instantaneamente um servidor web ou servir seus arquivos em um piscar de olhos. A principal vantagem do SimpleHTTPServer do python é que você não precisa instalar nada, pois tem o interpretador python instalado. Você não precisa se preocupar com o interpretador python porque em quase todas as distribuições Linux, o interpretador python é útil por padrão.
Você também pode usar SimpleHTTPServer como método de compartilhamento de arquivos. Você só precisa habilitar o módulo no local onde seus arquivos compartilháveis estão localizados. Mostrarei várias demonstrações neste artigo usando várias opções.
Etapa 1: verifique a instalação do Python
1. Verifique se o python está instalado em seu servidor ou não, emitindo o comando abaixo.
python –V
OR
python --version
Ele mostrará a versão do interpretador python que você possui e exibirá uma mensagem de erro se não estiver instalado.
Se você tiver uma distribuição SUSE, digite yast
no terminal –> Vá para Gerenciamento de Software –> Digite < código>'python' sem aspas –> selecione o interpretador python –> pressione a tecla de espaço e selecione-o –> e depois instale isto.
Simples assim. Para isso, você precisa ter o SUSE ISO montado e configurado como um repositório pelo YaST ou você pode simplesmente instalar o python da web.
Se você estiver usando sistemas operacionais diferentes, como RHEL, CentOS, Debian, Ubuntu ou outros sistemas operacionais Linux, basta instalar o python usando yum ou apt.
No meu caso eu uso o SLES 11 SP3 OS e o interpretador python vem instalado por padrão nele. Na maioria dos casos, você não precisará se preocupar em instalar o interpretador python em seu servidor.
Etapa 2: crie um diretório de teste e habilite SimpleHTTPServer
3. Crie um diretório de teste onde você não mexa nos arquivos do sistema. No meu caso eu tenho uma partição chamada /x01
e criei um diretório chamado tecmint
lá e também adicionei alguns arquivos de teste para teste.
4. Seus pré-requisitos estão prontos agora. Tudo que você precisa fazer é tentar o módulo SimpleHTTPServer do python emitindo o comando abaixo em seu diretório de teste (no meu caso, /x01//).
python –m SimpleHTTPServer
5. Depois de ativar o SimpleHTTPServer com sucesso, ele começará a servir arquivos através da porta número 8000. Basta abrir um navegador da web e digitar ip_address:port_number (no meu caso é 192.168.5.67:8000).
6. Agora clique no link 'tecmint'
para navegar pelos arquivos e diretórios do diretório tecmint, veja a tela abaixo para referência.
7. SimpleHTTPServer serve seus arquivos com sucesso. Você pode ver o que aconteceu no terminal, depois de acessar seu servidor através do navegador web, dando uma olhada onde você executou seu comando.
Etapa 3: alterando a porta SimpleHTTPServer
8. Por padrão, o SimpleHTTPServer do python serve arquivos e diretórios através da porta 8000, mas você pode definir um número de porta diferente (aqui estou usando a porta 9999 ) conforme desejar com o comando python conforme mostrado abaixo.
python –m SimpleHTTPServer 9999
Etapa 4: servir arquivos de locais diferentes
9. Agora que você tentou, você pode querer servir seus arquivos em um local específico sem realmente ir para o caminho.
Por exemplo, se você estiver em seu diretório inicial e quiser servir seus arquivos no diretório /x01/tecmint/ sem cd em /x01/tecmint , vamos ver como faremos isso.
pushd /x01/tecmint/; python –m SimpleHTTPServer 9999; popd;
Etapa 5: servir arquivos HTML
10. Se houver um arquivo index.html
localizado em seu local de veiculação, o interpretador python irá detectá-lo automaticamente e veicular o arquivo html em vez de veicular seus arquivos.
Vamos dar uma olhada nisso. No meu caso incluo um script HTML simples no arquivo chamado index.html
e o localizo em /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>
Agora salve-o e execute SimpleHTTPServer em /x01/tecmint e acesse o local em um navegador da web.
pushd /x01/tecmint/; python –m SimpleHTTPServer 9999; popd;
Muito simples e prático. Você pode servir seus arquivos ou seu próprio código HTML em um piscar de olhos. O melhor é que você não precisará se preocupar em instalar nada. Em um cenário em que você deseja compartilhar um arquivo com alguém, não é necessário copiar o arquivo para um local compartilhado ou tornar seus diretórios compartilháveis.
Basta executar SimpleHTTPServer nele e pronto. Há algumas coisas que você deve ter em mente ao usar este módulo python. Ao servir arquivos, ele é executado no terminal e imprime o que acontece lá. Quando você acessa pelo navegador ou baixa um arquivo dele, ele mostra o endereço IP acessado e o arquivo baixado, etc.
Se quiser parar de servir, você terá que parar o módulo em execução pressionando ctrl+c. Agora você sabe como usar o módulo SimpleHTTPServer do python como uma solução rápida para servir seus arquivos. Comentar abaixo as sugestões e novas descobertas seria um grande favor para aprimorar artigos futuros e aprender coisas novas.
Links de referência
Documentos SimpleHTTPServer