Conecte-se ao servidor Python

0

Eu criei um servidor python com o seguinte código no Prompt de Comando.

python -m http.server 

Você pode encontrar detalhes sobre como criar o servidor em site da Mozilla . Usando esse servidor, qualquer computador da minha rede pode usar os sites nele usando o endereço IP 192.168.xxx.xxx:8000 . Quando tento conectar-me ao servidor com Putty e / ou FTP, ele retorna unknown host . Como faço FTP ou Putty se conectar ao meu servidor? Eu fiz um servidor com o meu Raspberry Pi e eu poderia usar o SSH no Putty para modificar o servidor.

    
por ds_secret 26.01.2018 / 20:54

1 resposta

1

No melhor de meu conhecimento, o http.server do Python não suporta FTP.

Embora o Python tenha uma biblioteca de FTP , essa é essencialmente uma biblioteca cliente destinada a ajudar seus scripts comunicar com os servidores FTP existentes. O Python não tem um servidor FTP "embutido", infelizmente.

Considerando isso, você tem duas opções: usar uma biblioteca de terceiros ou codificar uma solução de transferência de arquivos por conta própria. O http.server suporta CGI com python -m http.server --cgi , portanto é pelo menos teoricamente possível usar este mecanismo para transferir dados.

Para uma simples biblioteca de servidores FTP de terceiros, talvez você queira examinar o pyftpdlib (que tem documentação , incluindo um básico tutorial página).

Em relação ao Putty, se você quiser SSH no PC, o Windows não tem um servidor SSH nativo, tanto quanto eu sei. O Google pode ajudar nesse sentido, mas, para uso doméstico, MobaSSH ou FreeSSHd pode ser uma solução aceitável para você.

Recentemente, chegou ao meu conhecimento que versões suficientemente atualizadas do Windows 10 que possuem o Windows Subsystem para Linux (WSL) instalado pode ter algumas opções para o SSH nativo. No entanto, não posso fazer nenhuma sugestão sobre se isso seria suficiente para suas necessidades ou não.

Usando o pyftpdlib

Se você decidir usar o pyftpdlib, você pode instalá-lo com o pip:

pip install pyftpdlib

Para um servidor de linha de comando simples (semelhante ao http.server), você pode usar o seguinte:

python -m pyftpdlib

Isso criará um servidor FTP somente leitura com uma conta anônima. Note que você pode habilitar a escrita (uploads) com -w , assim como especificar outras opções, incluindo interface específica (se houver), porta e diretório de FTP:

python -m pyftpdlib -w -i localhost -p 8081 -d "C:\path\to\FTP\anon"

Uma lista completa da opção de linha de comando está disponível com python -m pyftpdlib -h .

Notas do script pyftpdlib

Se você deseja executar o pyftpdlib a partir dos scripts de tutorial de exemplo no Windows, deve ter em mente o seguinte:

  • Os separadores de diretório do Windows precisarão de escape (ou seja, você precisará usar \ entre as pastas, em vez de apenas \ ). Isso não se aplica a servidores iniciados por meio da linha de comando (acima).

  • Se você receber erros de soquete, isso geralmente ocorre devido a um problema de firewall / permissão com o Windows ou com uma porta já em uso. De qualquer forma, corrija o problema ou escolha uma porta diferente.

  • O atributo perm= de authorizer.add_user é opcional, mas, se omitido, o usuário assume como padrão o acesso somente leitura. Para ver uma lista do que significam todas as permissões, você deve dar uma olhada na documentação da API . / p>

por 28.01.2018 / 22:42