Como usar o python simpleshttpServer

Como usar o python simpleshttpServer

A principal tarefa do servidor da web é lidar com as solicitações HTTP do cliente. Ele aguarda as solicitações HTTP provenientes do endereço IP específico e do número da porta, lida com a solicitação e envia a resposta do cliente de volta. Python usa o SimplehttpServer módulo para criar um servidor da web instantaneamente e facilmente o conteúdo do arquivo do servidor. Pode ser usado para compartilhar arquivos também. Para isso, você deve ativar este módulo com a localização dos arquivos compartilháveis. Este módulo vem com o intérprete 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 correr http.servidor Para executar o servidor da web em Python3. Como o servidor da web pode ser usado para lidar com a solicitação HTTP e compartilhar arquivos, foram mostrados neste tutorial.

Execute o servidor da web do terminal

Execute o seguinte comando para executar o servidor da web do terminal. Se nenhum número da porta for definido no comando, o servidor da web começará em 8000 port por padrão.

$ python3 -m http.servidor

A saída a seguir aparecerá se o servidor da 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 saída a seguir aparecerá se o servidor da web for iniciado na porta 8080.

Execute o servidor da web usando o script python

Execute os seguintes comandos para criar uma pasta nomeada 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 nomeado testhtml.html dentro de rede pasta com o seguinte script. Este arquivo será servido do servidor da web mais tarde.

testhtml.html



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




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


Visita Linuxhint.com Para mais tutoriais no Python




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

Crie um arquivo python com o seguinte script para executar o servidor da web em 8008 Port. http.servidor Módulo foi importado para executar o servidor da web e o SocketServer O módulo foi importado para lidar com a solicitação HTTP proveniente da porta 8080. Um objeto nomeado Manipulador foi criado para lidar com as solicitações HTTP. para sempre() A função é chamada para executar o servidor da web. Nenhuma condição de rescisão foi adicionada ao script. Portanto, o script 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
# Crie objeto para lidar com solicitações HTTP
Manipulador = http.servidor.SimpHttPrequestHandler
# Execute o servidor para sempre para lidar com as solicitações HTTP
com SocketServer.TcpServer (("", porta), manipulador) como httpd:
Impressão ("O servidor da web está em execução em http: // localhost: %s" %porta)
httpd.serv_forever ()

Saída

A saída a seguir será exibida após a execução do script acima.


A lista dos arquivos e pasta do local do script será mostrada se o seguinte URL for executado do navegador.

http: // localhost: 8080

Se o usuário pressionar Ctrl+C do terminal ou pressionar o botão de parada do 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 na porta específica se o argumento da linha de comando fornecer o número da porta; Caso contrário, 5000 será usado como porta padrão. sys O módulo foi importado no script para ler os valores de argumento da linha de comando. Try-exceto O bloco foi adicionado no script para lidar com o erro quando o usuário tenta parar o servidor. Se a exceção da interrupção do teclado aparecer após a execução do servidor, então o fechar() A função será chamada para parar o servidor da web.

# Módulo de servidor de importação
importar http.servidor
# Importar módulo SocketServer
Importar SocketServer
# Importar módulo SYS
Importar sistemas
tentar:
# Defina o número da porta
Se sys.argv [1:]:
porta = int (sys.argv [1])
outro:
porta = 5000
# Defina o endereço IP
server_address = ('127.0.0.1 ', porta)
# Crie objeto para lidar com solicitações HTTP
Manipulador = http.servidor.SimpHttPrequestHandler
# Execute o servidor da web para sempre para lidar com as solicitações HTTP
com SocketServer.TcpServer (("", porta), manipulador) como httpd:
Impressão ("O servidor da web está em execução em http: // localhost: %s" %porta)
httpd.serv_forever ()
# Parou o servidor
Exceto keyboardInterrupt:
httpd.server_close ()
print ("O servidor está parado.")

Saída

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

A saída a seguir será exibida se o arquivo html que é criado na etapa anterior do servidor da web.

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

A saída a seguir aparecerá se você executar o script novamente após 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 definiram no início do script. Pitonserver A classe definiu no script para exibir o arquivo html no navegador quando o servidor da web começa a executar.

# Importe o módulo do servidor
importar http.servidor
# Defina o nome do host
Host = "localhost"
# Defina o número da porta
Porta = 4000
# Defina a classe para exibir a página de índice do servidor da web
Classe Pythonserver (http.servidor.SimphttPrequestHandler):
def do_get (self):
se eu.caminho == '/':
auto.caminho = 'testehtml.html '
Retorne http.servidor.SimpHttPrequestHandler.do_get (self)
# Declare objeto da classe
servidor da web = http.servidor.HttpServer ((host, porta), pythonserver)
# Imprima o URL do servidor da web
print ("Servidor iniciado http: //%s:%s"%(host, porta))
tentar:
# Execute o servidor da web
servidor web.serv_forever ()
Exceto keyboardInterrupt:
# Pare o servidor da web
servidor web.server_close ()
print ("O servidor está parado.")

Saída

A saída a seguir aparecerá executando o script acima.

A página seguinte aparecerá no navegador se o URL base do navegador do servidor da web executar.

Conclusão

As diferentes maneiras de implementar servidores da web usando http. servidor O módulo mostrou neste tutorial para ajudar os usuários do Python a criar um servidor web simples no Python.