Pesquisa de site

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.

2. Você terá sorte se ele estiver lá por padrão. Menos trabalho, na verdade. Se por acaso não foi instalado, instale-o seguindo os comandos abaixo.

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