Pitão

Como usar o Python SimpleHTTPServer

Como usar o Python SimpleHTTPServer

A principal tarefa do servidor web é lidar com as solicitações HTTP do cliente. Ele aguarda as solicitações HTTP provenientes do endereço IP e do número da porta em particular, lida com a solicitação e envia a resposta do cliente de volta. Python usa o SimpleHTTPServer módulo para criar um servidor web instantaneamente e facilmente servir o conteúdo do arquivo do servidor. Ele também pode ser usado para compartilhamento de arquivos. Para isso, você deve habilitar este módulo com a localização dos arquivos compartilháveis. Este módulo vem com o interpretador Python. Você não precisa instalá-lo. Uma vez que este módulo é mesclado com o http.servidor módulo em python3, então você tem que executar http.servidor para executar o servidor web em python3. Como o servidor da web pode ser usado para lidar com solicitações HTTP e compartilhar arquivos, foi mostrado neste tutorial.

Execute o servidor da Web a partir do terminal

Execute o seguinte comando para executar o servidor web a partir do terminal. Se nenhum número de porta for definido no comando, o servidor web irá iniciar na porta 8000 por padrão.

$ python3 -m http.servidor

A seguinte saída aparecerá se o servidor web for iniciado corretamente. CTRL + C é pressionado para parar o servidor.


Execute o seguinte comando para iniciar o servidor da web na porta 8080.

$ python3 -m http.servidor 8080

A seguinte saída aparecerá se o servidor web for iniciado na porta 8080.

Execute o servidor da Web usando o script Python

Execute os seguintes comandos para criar uma pasta chamada rede e vá para a pasta. Todos os arquivos de script e arquivos HTML deste tutorial serão criados dentro desta pasta.

$ mkdir web
$ cd web

Crie um arquivo HTML chamado testHTML.html dentro de rede pasta com o seguinte script. Este arquivo será servido a partir do servidor web mais tarde.

testHTML.html



<br>Teste o servidor da Web Python<br>



Imagem não encontrada

Parabéns! Seu servidor web está funcionando com sucesso.


Visita LinuxHint.com para mais tutoriais em Python




Exemplo-1: Execute o servidor da web no número da porta específica

Crie um arquivo python com o seguinte script para executar o servidor da web na porta 8008. http.servidor módulo foi importado para executar o servidor web, e o SocketServer módulo foi importado para lidar com a solicitação HTTP proveniente da porta 8080. Um objeto chamado Handler foi criado para lidar com as solicitações HTTP. para sempre() função é chamada para executar o servidor web. Nenhuma condição de terminação foi adicionada ao script. Portanto, o script irá gerar um erro quando o usuário tentar parar o servidor.

# Módulo de servidor de importação
importar http.servidor
# Importar módulo SocketServer
importar socketserver
# Defina o número da porta
porta = 8080
# Criar objeto para lidar com solicitações HTTP
Handler = http.servidor.SimpleHTTPRequestHandler
# Execute o servidor para sempre para lidar com as solicitações HTTP
com socketserver.TCPServer (("", porta), Handler) como httpd:
print ("O servidor da Web está sendo executado em http: // localhost:% s"% port)
httpd.serve_forever ()

Resultado

A seguinte saída aparecerá após a execução do script acima.


A lista de arquivos e pasta da localização do script será mostrada se o seguinte URL for executado a partir do navegador.

http: // localhost: 8080

Se o usuário pressionar CTRL + C no terminal ou pressionar o botão Parar no editor PyCharm, a seguinte mensagem de erro será exibida. Este problema foi resolvido no próximo exemplo deste tutorial.

Exemplo-2: execute o servidor da web com o número da porta definido pela linha de comando

Crie um arquivo python com o seguinte script para executar um servidor da web em uma porta específica se o argumento da linha de comando fornecer o número da porta; caso contrário, 5000 será usado como a porta padrão. sys módulo foi importado no script para ler os valores dos argumentos da linha de comando. tentar exceto bloco foi adicionado no script para lidar com o erro quando o usuário tenta parar o servidor.  Se a exceção KeyboardInterrupt aparecer após a execução do servidor, o perto() função será chamada para parar o servidor web.

# Módulo de servidor de importação
importar http.servidor
# Import SocketServer module
importar socketserver
# Módulo de importação sys
import sys
tentar:
# Defina o número da porta
se sys.argv [1:]:
porta = int (sys.argv [1])
senão:
porta = 5000
# Defina o endereço IP
server_address = ('127.0.0.1 ', porta)
# Criar objeto para lidar com solicitações HTTP
Handler = http.servidor.SimpleHTTPRequestHandler
# Execute o servidor web para sempre para lidar com as solicitações HTTP
com socketserver.TCPServer (("", porta), Handler) como httpd:
print ("O servidor da Web está sendo executado em http: // localhost:% s"% port)
httpd.serve_forever ()
# Parou o servidor
exceto KeyboardInterrupt:
httpd.server_close ()
print ("O servidor está parado.")

Resultado

A seguinte saída aparecerá após a execução do script acima sem o valor do argumento da linha de comando.

A saída a seguir aparecerá se você executar o arquivo HTML criado na etapa anterior no servidor da web.

Abra a caixa de diálogo de configuração no menu Executar do editor PyCharm para definir o valor do argumento da linha de comando. O campo Parâmetros é usado para definir o argumento da linha de comando e 3000 é definido aqui como o valor do argumento.

A seguinte saída aparecerá se você executar o script novamente depois de definir o valor do argumento.

Exemplo-3: execute o servidor da web com o arquivo HTML

Crie um arquivo python com o seguinte script para executar o servidor da web, definindo o arquivo HTML para o URL base. O nome do host e o número da porta foram definidos no início do script. PythonServer classe foi definida no script para exibir o arquivo HTML no navegador quando o servidor web começa a ser executado.

# Importe o módulo do servidor
importar http.servidor
# Defina o nome do host
HOST = "localhost"
# Defina o número da porta
PORT = 4000
# Defina a classe para exibir a página de índice do servidor web
classe PythonServer (http.servidor.SimpleHTTPRequestHandler):
def do_GET (self):
se eu.caminho == '/':
auto.path = 'testHTML.html '
retornar http.servidor.SimpleHTTPRequestHandler.do_GET (self)
# Declara o objeto da classe
webServer = http.servidor.HTTPServer ((HOST, PORT), PythonServer)
# Imprima o URL do servidor web
print ("Servidor iniciado http: //% s:% s"% (HOST, PORT))
tentar:
# Execute o servidor web
servidor web.serve_forever ()
exceto KeyboardInterrupt:
# Pare o servidor web
servidor web.server_close ()
print ("O servidor está parado.")

Resultado

A seguinte saída aparecerá executando o script acima.

A página a seguir aparecerá no navegador se o URL base do navegador do servidor da web for executado.

Conclusão

As diferentes maneiras de implementar servidores web usando http. servidor módulo foi mostrado neste tutorial para ajudar os usuários de Python a criar um servidor web simples em Python.

Melhores jogos para jogar com rastreamento manual
Oculus Quest introduziu recentemente a grande ideia de rastreamento manual sem controladores. Com um número cada vez maior de jogos e atividades que e...
Como mostrar a sobreposição de OSD em aplicativos e jogos Linux em tela cheia
Jogar jogos em tela cheia ou usar aplicativos em modo de tela cheia sem distração pode cortar você das informações relevantes do sistema visíveis em u...
Top 5 cartas de captura de jogos
Todos nós vimos e amamos streaming de jogos no YouTube. PewDiePie, Jakesepticye e Markiplier são apenas alguns dos melhores jogadores que ganharam mil...