Necesito cargar directorios a un servidor FTP en mi aplicación y plan de usar libcurl. Veo que no hay una forma directa de cargar un directorio con muchos archivos , lo cual tiene sentido para mí. Sin embargo, no pude encontrar ninguna mención en cargando muchos archivos.libcurl - Mantener la conexión "abierta" para Cargar varios archivos (FTP)
Si obtengo la lista de archivos en el directorio, podría cargarlos en un bucle. La opción CURLOPT_FTP_CREATE_MISSING_DIRS
podría ayudar con los subdirectorios, pero si quisiera saber también si me falta el punto aquí o esto tendría algún inconveniente serio.
La pregunta principal es: ¿cómo puedo mantener la conexión "abierta"? Volver a conectar en cada archivo probablemente significaría una sobrecarga adicional no deseada.
Idealmente, me gustaría seguir usando la interfaz fácil. Pero si otra interfaz proporciona una mejor asistencia en este caso, la usaré.
CURLcode ret;
CURL *handle = curl_easy_init();
/* Connect to FTP server using *
* the given username and password */
for ({each file}) {
curl_easy_setopt(handle, ..., ...);
...
ret = curl_easy_perform(handle);
/* Analyse return code */
curl_easy_reset(handle);
}
/* Disconnect from server */
curl_easy_clenup(handle);
Muchas gracias Sr. Stenberg, ¡qué orgulloso de recibir una respuesta suya! Si puedo pedir más aclaraciones, ¿será necesario 'curl_easy_reset()' en este caso? La página man dice que las conexiones en vivo se mantienen en el mango, sin embargo, ¿bastaría con volver a establecer las opciones manualmente (en el ciclo)? – sidyll
Puedes hacer lo que creas que se ajuste mejor a tu código. El reinicio no matará la caché de conexión. Puede volver a establecer las opciones manualmente si lo prefiere. –
Gracias una vez más, y felicidades por el trabajo increíble. Mis mejores deseos – sidyll