2011-01-26 15 views
5

estoy en Windows 7.Python FTP para iPad

No me puedo conectar a mi iPad con un simple script en Python:

HOST = '192.168.1.122' 
try: 
    f = ftplib.FTP(HOST) 
except (socket.error, socket.gaierror), e:  
    MessageBox.Show('ERROR: cannot reach "%s"' % HOST) 
    return   
try: 
    f.connect(HOST,2121) 
    f.login() 
except ftplib.error_perm: 
    MessageBox.Show('ERROR: cannot login anonymously') 
    f.quit() 
    return 

Los errores que tengo es "getaddrinfo devuelve una lista vacía" y el mensaje "no se puede alcanzar ..." ... No se puede resolver ...

Intenté hacer FTP con varios programas en el iPad sin éxito. Si uso el FTP a través del cuadro de DOS o usando un software FTP, funciona. Intenté también otro servidor FTP en mi PC y funciona.

Estoy obligado a utilizar el puerto 2121, por lo que no puedo cambiarlo.

¿Alguna pista o experiencia?

+2

¿Tiene un servidor FTP que se ejecuta en el IPAD? –

+0

Asumo que si considera que dice que funciona con el software FTP: 'Si uso un FTP a través del cuadro de DOS o usando un software FTP, funciona ' – Jimmy

+0

Supongo que algo así como http://www.savysoda.com/WiFiFTP está instalado. – keatch

Respuesta

4

Debe leer documentos antes de nada:

clase ftplib.FTP ([host [, usuario [, [ passwd, ACCT [, tiempo de espera]]]]]) Devuelve una nueva instancia de la Clase de FTP Cuando se proporciona el host , se realiza la llamada al método connect (host). Cuando el usuario es dado, adicionalmente el método call login (user, passwd, acct) se hace (donde passwd y acct por defecto a la cadena vacía cuando no se proporciona). El parámetro de tiempo de espera opcional especifica un tiempo de espera en segundos para bloquear operaciones como el intento de conexión (si no se especifica, se utilizará la configuración global de tiempo de espera predeterminado ).

Así que, si lo hace f = ftplib.FTP (HOST) falla porque intentará conectarse al puerto estándar (21) y no 2121. Debe obtener una instancia de ftplib y su uso posterior f. conectar (HOST, 2121).

http://docs.python.org/library/ftplib.html

+0

sí, esa es la cosa. Leí los documentos, pero no estaría aquí si hubiera podido hacerlo solo, ¿o sí? Muchas gracias, esto realmente funcionó ... – Maurizio

+1

Eso está bien Maurizio, solo señalando leer los documentos porque (casi yo) siempre 'intento' antes de leer ... ¡Me alegra saber que funcionó ahora! ¡Buena suerte! – webbi