İskele cevaplar temel bir FTP sunucusu yapabilir güvensiz hem 21 (veya bu örnekte 2121 yılında) belgelerinden numune kullanılarak:Python FTP Sunucusu: Nasıl destekleyen yapmak güvenli ve
from pyftpdlib.handlers import FTPHandler
from pyftpdlib.servers import FTPServer
from pyftpdlib.contrib.authorizers import WindowsAuthorizer
def main():
authorizer = WindowsAuthorizer()
# Use Guest user with empty password to handle anonymous sessions.
# Guest user must be enabled first, empty password set and profile
# directory specified.
#authorizer = WindowsAuthorizer(anonymous_user="Guest", anonymous_password="")
handler = FTPHandler
handler.authorizer = authorizer
server = FTPServer(('', 2121), handler)
server.serve_forever()
if __name__ == "__main__":
main()
Ya da ben can
from pyftpdlib.servers import FTPServer
from pyftpdlib.authorizers import DummyAuthorizer
from pyftpdlib.contrib.handlers import TLS_FTPHandler
def main():
authorizer = DummyAuthorizer()
authorizer.add_user('user', '12345', '.', perm='elradfmw')
authorizer.add_anonymous('.')
handler = TLS_FTPHandler
handler.certfile = 'keycert.pem'
handler.authorizer = authorizer
# requires SSL for both control and data channel
#handler.tls_control_required = True
#handler.tls_data_required = True
server = FTPServer(('', 990), handler)
server.serve_forever()
if __name__ == '__main__':
main()
portu 21 cevapları biri yapmak için bir yol var mı: (güvenli FTP portu original code sample gösterildiği gibi değil, 21 990 olduğu dışında yine bu dokümanlardan örnektir) TLS destekler biri yapmak (güvensiz) VE 990 (TLS ile güvence altına alınmış) aynı senaryoda bir dizi paylaştıkları örneğin pasif portları,: Ben iki komut dosyaları yazabilirsiniz ama pasif noktası aralığını paylaşıyorsanız nasıl işe yarayacak hayal
handler.passive_ports = range(50000, 50051)
? Bu aralık bir gereksinimdir ve kullandığımız mevcut IIS kurulumu hem TLS hem de güvenli olmayan bağlantıları desteklemektedir. Özel bir sunucuda pyftpdlib kullanmak istiyorum, böylece yüklenen dosyalarda özel mantık yapabiliriz. Tüm bu iyi çalışıyor, sadece bu son biraz anlamak gerekir ve FTP sunucuları yazılı deneyimim yok.
İş parçacığıyla uğraştım ama her iki iş parçacığı başlatmaya çalışırken sorun yaşadım. Bu yüzden hata ayıklamayı kolaylaştıran iki betik yaptım. Onlar * aynı pasif aralıkta yeterince mutlu görünüyorlar ama ben henüz bu kadar zor vurmadım ama bir sürü yükleme. Yarın daha iyi bir yolu olmadığı sürece yarın deneyeceğim (OP'nin noktası). –