no puedo encontrar un ejemplo de un simple acceso FTP de un archivo en cualquier lugar, y la clase FtpClient (que utilizan un par de ejemplos) no aparece en el índice de clase Android . Tengo el acceso http funcionando, pero ¿cómo hago un simple FTP? Todo lo que quiero hacer es descargar (por ejemplo): ftp://tgftp.nws.noaa.gov/data/observations/metar/stations/KABQ.TXT No debe requerir iniciar sesión, cambiar el directorio, etc. Simplemente dando esa URL a los métodos de acceso http no parece funcionar.Howto hacen un ftp sencillo conseguir el archivo en Android
Esto es similar a la cuestión en: unable to read file from ftp in android?
He intentado un simple:
StringBuilder response = new StringBuilder();
URLConnection ftpConn;
try {
URL netUrl = new URL("ftp://tgftp.nws.noaa.gov/data/observations/metar/stations/KABQ.TXT");
ftpConn = netUrl.openConnection();
BufferedInputStream bufRd = new BufferedInputStream(ftpConn.getInputStream());
int temp;
while ((temp = bufRd.read()) != -1) {
response.append(temp);
}
bufRd.close();
} catch (Exception e) {
return "Failure";
}
pero se hace una excepción en getInputStream: No se puede conectar al servidor: No se puede configurar el puerto de datos
Además, tiene que haber una manera más inteligente para extraer los datos del búfer de la secuencia de byte a byte, no está allí? No puedo encontrar eso tampoco.
Por último, tengo que hacer tanto el acceso HTTP y FTP, ¿hay alguna razón para no usar URLConnection para ambos tipos de acceso? o ¿es mejor usar HttpConnection para http y URLConnection para ftp?
Gracias!
¿Tiene un permiso de uso de Internet en su manifiesto? – Jack
Sí, pasé un par de horas con eso, eso hubiera sido una buena suposición hace varias horas. :-) Hice que http trabajara pero no ftp. –
También noté que si escribo esa URL en Google en el emulador, dice "La página web no está disponible" y está allí en un navegador normal. Si escribo esa URL directamente en la ventana del navegador, parece tomar solo 50 caracteres, no tomaré todo. ¿Estos errores están en el emulador? –