C/Visual C - ¿Cómo llamar al programa ftp de DOS?

 
Vista:

¿Cómo llamar al programa ftp de DOS?

Publicado por Alfredo Gutiérrez (2 intervenciones) el 25/09/2001 02:23:38
Hola a todos.
Me gustaría llamar al programa ftp de DOS mediante un programa en C.
La idea es que se pueda pasar el usuario y el password al programa para que sea totalmente transparente al usuario el uso del programa ftp.
Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Llamar al programa FTP de DOS desde C

Publicado por Alejandro (913 intervenciones) el 15/10/2024 23:38:34
Hola, Alfredo.

Para llamar al programa FTP de DOS desde un programa en C y pasarle el usuario y la contraseña de manera transparente, puedes utilizar la función `system()` para ejecutar el comando FTP con los parámetros necesarios. Sin embargo, ten en cuenta que esto puede no ser completamente seguro, ya que las credenciales pueden ser visibles en el historial de comandos.

Aquí tienes un ejemplo básico de cómo hacerlo:

Ejemplo de código:



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <stdio.h>
#include <stdlib.h>
 
void llamarFTP(const char *usuario, const char *password, const char *servidor) {
    char comando[256];
 
    // Formar el comando FTP
    snprintf(comando, sizeof(comando), "ftp -n %s", servidor);
 
    // Ejecutar el comando FTP
    system(comando);
 
    // Enviar el usuario y la contraseña
    printf("user %s\n", usuario);
    printf("pass %s\n", password);
    printf("bye\n");
}
 
int main() {
    const char *usuario = "tu_usuario";
    const char *password = "tu_contraseña";
    const char *servidor = "ftp.ejemplo.com";
 
    llamarFTP(usuario, password, servidor);
 
    return 0;
}

Consideraciones:



1. Seguridad: Ten en cuenta que pasar contraseñas de esta manera puede no ser seguro, ya que pueden ser vistas en el historial de comandos o en la memoria.

2. Interacción con FTP: El comando `system()` ejecuta el comando en un nuevo shell, pero no permite la interacción directa con el programa FTP. Para una interacción más avanzada, considera usar sockets para implementar tu propio cliente FTP.

3. Alternativas: Si necesitas una solución más robusta, puedes buscar bibliotecas de C que implementen el protocolo FTP, como `libcurl`, que te permitirán manejar conexiones FTP de manera más segura y controlada.

¡Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar