Salve ragazzi, nel disperato tentativo di uploadare un file presente sul mio desktop al mio server altervista, ho scritto questa funzione
codice:
bool ftpUpload(char * _filepath, char * __id){
char URL[500];
FILE * upload;
curl_global_init(CURL_GLOBAL_ALL);
curl = curl_easy_init();
if(curl) {
sprintf(URL, "ftp://%s/tree/%s/", HOST, __id);
curl_easy_setopt(curl, CURLOPT_URL, URL);
//curl_easy_setopt(curl, CURLOPT_READFUNCTION, read_callback);
upload = fopen(_filepath, "rb");
curl_easy_setopt(curl, CURLOPT_READDATA, upload);
curl_easy_setopt(curl, CURLOPT_USERPWD, "username:password");
curl_easy_setopt(curl, CURLOPT_UPLOAD, 1L);
res = curl_easy_perform(curl);
curl_easy_cleanup(curl);
curl_global_cleanup();
fclose(upload);
return true;
}
return false;
}
Riscontro però due problemi, il primo è che curl_easy_perform(curl) ritorna l'errore CURLE_MALFORMAT_URL quando il mio URL contiene ftp anzicchè http, il secondo è che quando sostituisco http ad ftp curl_easy_perform(curl) ritorna CURLE_WRITE_ERROR
Da cosa può dipendere?
PS: URL = ftp://mywww.altervista.org/tree/124/