org not net exist ejemplo easyftp does commons java android ftp

not - java use ftp



FTP a 1and1.com (1)

Finalmente lo tengo. El problema principal era que estaba usando una versión anterior de la biblioteca Apache. El Jar que estaba usando era commons-net-1.4.jar. Alguien en otro hilo me señaló a commons-net-3.3.jar.

Comenté tanto mFtpClient.enterLocalPassiveMode () como mFtpClient.enterRemotePassiveMode (), y con algún rastro y error funcionó con FTP.BINARY_FILE_TYPE y no con ASCII_FILE_TYPE. ASCII obtuvo el archivo allí, pero era basura.

El siguiente código funciona con otros dos sitios que he probado, pero no funcionará con mi dominio alojado por 1 y 1. El código de retorno siempre es 500 - Respuesta final completa negativa.

Sé que me estoy conectando porque FTPReply.isPositiveCompletion (respuesta) devuelve verdadero. Lo probé tanto con la lectura del archivo en el almacenamiento del teléfono y el envío desde una matriz de bytes poblada al principio del código. Esta es la matriz de bytes. Ambos devuelven 500. Ambos funcionan en los otros sitios.

Si no uso enterLocalPassiveMode () el código deja de ejecutarse en la llamada storeFile. Sin excepción, sin tiempo de espera del socket. Simplemente termina allí y la tarea asíncrona no volverá a llamar en esa sesión. El código no hace eso en los otros sitios.

He intentado con los tipos de archivo ASCII y BINARY. Ambos devuelven 500. El sitio 1 y 1 dice que use mi dominio y el puerto 21. Puedo conectarme con CoreFTP y leer y escribir usando las dos cuentas que configuré.

También me cansé de ftp4j y tuve la misma respuesta con todos los escenarios, así que volví a Apache porque el código ya estaba escrito con una captura de errores robusta.

He probado tanto mydomain.com como ftp.mydomian.com. 500 en ambos. También probé el dot quad que puedo ver en la ventana de CoreFTP, pero me aparece "no puedo resolver el nombre de host" con el código de Apache Java. Tal vez no una IP estática?

Esto es lo que hace CoreFTP. Se conecta en el puerto 21 y luego pasa al modo pasivo y a una conexión de datos ASCII.

Es una posibilidad remota, pero ¿alguien más ha enviado FTP a su dominio 1and1 usando Java en Android Studio?

Greg

Resolviendo mydomain.com ...
Conecte el socket # 5684 a xx.xx.xx.xxx, el puerto 21 ... 220 Servicio FTP de Microsoft
USUARIO ftp79815757-0
331 Se requiere contraseña para ftp79815757-0.
PASAR **********
230 Usuario conectado.
SYST
215 Windows_NT
Mantener vivo fuera ... PWD
257 "/ ftp79815757-0" es el directorio actual.
PASV
227 Entrada al modo pasivo (xx, xxx, xx, xxx, xxx, xxx).
LISTA
Conecte el socket # 5700 a xx.xx.xx.xx, puerto 62894 ... 150 Apertura de conexión de datos en modo ASCII.
226 Transferencia completa.
Transferido 51 bytes en 0.094 segundos

FTPClient mFtpClient = new FTPClient(); String ip = "my domain dot com"; String userName = "ftp79815757-0"; String pass = "password"; mFtpClient.connect(InetAddress.getByName(ip)); mFtpClient.login(userName, pass); int reply = mFtpClient.getReplyCode(); if (FTPReply.isPositiveCompletion(reply)) { mFtpClient.setFileType(FTP.BINARY_FILE_TYPE); //one thread said this would do the trick mFtpClient.enterLocalPassiveMode(); mFtpClient.enterRemotePassiveMode(); InputStream stream = new ByteArrayInputStream(imageData); //I have two accounts. One points to images_in /*if (!mFtpClient.changeWorkingDirectory("images_in")) { Log.e("ChangeDir", String.valueOf(mFtpClient.getReplyCode())); }*/ if (!mFtpClient.storeFile("remoteName.jpg", stream)) { Log.e("FTPUpload", String.valueOf(mFtpClient.getReplyCode())); } stream.close(); mFtpClient.disconnect(); }