2013-05-19 1 views
0

Я пытаюсь реализовать как на FTP-сервер и клиент для передачи файлов, но я в принципе не в состоянии сделать связь между ними с помощью ftplib модуля в питона ....FTP сервер клиента с помощью ftplib

Это то, что я сделал, как я могу исправить код? Есть ли другой подход?

Код для моего сервера: -

 #making the important imports for file transfer : 

     from ftplib import FTP 

     ftp_object_server=FTP() 
     #s = socket.socket()   
     host = "121.0.0.1" 
     port = 1227 
     ftp_object_server.connect(host,port) 


     while True: 
      c, addr = ftp_object_server.accept() 
      print c 
      print addr# Establish connection with client. 
      print 'Got connection from', addr 
      c.send('Thank you for connecting') 

      ftp_object_server.close()    # Close the connection 

Код для моего клиента: -

 from ftplib import FTP 


    ftp_object_client=FTP() 

    host = "121.0.0.1" # Get local machine name 
    port = 1227    # Reserve a port for your service. 

    #---------Creating My Own Set of username and passwords ------------------------# 
    Username=['abc','efg','hij'] 
    Password=['123'] 


    input_user_name=raw_input('Enter the Username') 
    input_user_password=raw_input('Enter the password')   

    if input_user_name in Username and input_user_password in Password: 
     ftp_object_client.connect(host) 
     print ftp_object_client.recv(1024) 

     ftp_object_client.close() 

ответ

0

ftplib модуля из стандартной библиотеки охватывает только клиентскую часть протокола FTP. Итак, вы сделали попытку открыть два соединения с 121.0.0.1. Я предполагаю, что вы имели в виду localhost, что равно 127.0.0.1.

Не зная, что вы на самом деле пытаетесь достичь, есть несколько вариантов:

  • передачи файлов с использованием HTTP, используйте python -m SimpleHTTPServer (или python3 -m http.server в Python3) и requests как клиент
  • использовать раствор prexisting (увидеть ответы на One line ftp server in python)
  • реализовать свой собственный сервер
+0

Лучше я буду использовать FTP-сервер на одну строку в python. А затем используйте модуль FTPclient. –