Hi,
I am able to transfer a single file from server to client after
establishing the FTP connection.
But, I want transfer multiple files (*.*) at a time from server to client
and want to delete the files (*.*) after successful transmission.
Please help to solve this issue.
Regards,
Amol R. Madane
Re: Establish the FTP Connection and file Transfer from on location to
other
Amol Madane
to:
Daniel Stenberg
04/19/2010 04:18 PM
Cc:
libcurl hacking
Hi,
I want to establish the FTP connection from machine A to machine B using
LibCurl and want to transfer the file (*.txt) from B to A. After the
successful transmission of file (*.txt) from B to A, delete the file
which is available on Machine B.
Please find the code that I have written for doing the same is in the
attached file.
[attachment "Code.txt" deleted by Amol Madane/TVM/TCS]
After the execution of executable, I am getting the error which is in the
attached file.
[attachment "Error.txt" deleted by Amol Madane/TVM/TCS]
Please help me to solve the problem.
Regards,
Amol Raoji Madane
Tata Consultancy Services
DLF Akruti Info Park,
PN 28,
Rajiv Gandhi Infotech Park Hinjewadi, PHASE II
Pune - 411057,Maharashtra
India
Ph:- +91-20-6675-2352
Buzz:- 420-2352
Mailto: [email protected]
Website: http://www.tcs.com
____________________________________________
Experience certainty. IT Services
Business Solutions
Outsourcing
____________________________________________
From:
Daniel Stenberg <[email protected]>
To:
Amol Madane <[email protected]>
Cc:
libcurl hacking <[email protected]>
Date:
04/19/2010 03:10 PM
Subject:
Re: Establish the FTP Connection and file Transfer from on location to
other
On Mon, 19 Apr 2010, Amol Madane wrote:
> I am writing a FTP script to sit on a server which basically needs to
> connect to another remote server and read the file and return them as a
> file.
So you need to get a file with FTP using libcurl. Can you tell us more
specificly what parts of the docs and examples you don't understand?
--
/ daniel.haxx.se
#include <stdio.h>
#include <curl.h>
#include <types.h>
#include <easy.h>
/*
* This is an example showing how to get a single file from an FTP server.
* It delays the actual destination file creation until the first write
* callback so that it won't create an empty file in case the remote file
* doesn't exist or something else fails.
*/
#define UPLOAD_FILE_AS "11.txt"
#define REMOTE_URL "ftp://172.29.59.216/" UPLOAD_FILE_AS
struct FtpFile
{
const char *filename;
FILE *stream;
};
static size_t my_fwrite(void *buffer, size_t size, size_t nmemb, void *stream)
{
struct FtpFile *out=(struct FtpFile *)stream;
if(out && !out->stream)
{
/* open file for writing */
out->stream=fopen(out->filename, "wb");
if(!out->stream)
return -1; /* failure, can't open file to write */
}
return fwrite(buffer, size, nmemb, out->stream);
}
int main(void)
{
CURL *curl;
CURLcode res;
struct FtpFile ftpfile={"11.txt", NULL}; /* name to store the file as
if succesful */
struct curl_slist *headerlist=NULL;
static const char buf_1 [] = "DELE " UPLOAD_FILE_AS;
curl_global_init(CURL_GLOBAL_DEFAULT);
curl = curl_easy_init();
if(curl)
{
/*
* Get curl 7.9.2 from sunet.se's FTP site. curl 7.9.2 is most likely
not
* present there by the time you read this, so you'd better replace the
* URL with one that works!
*/
headerlist = curl_slist_append(headerlist, buf_1);
curl_easy_setopt(curl, CURLOPT_URL, REMOTE_URL);
curl_easy_setopt (curl, CURLOPT_VERBOSE, 1);
curl_easy_setopt (curl, CURLOPT_USERNAME , "gaurav");
curl_easy_setopt (curl, CURLOPT_PASSWORD ,"gaurav");
/* Define our callback to get called when there's data to be written */
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, my_fwrite);
/* Set a pointer to our struct to pass to the callback */
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &ftpfile);
/* Switch on full protocol/debug output */
curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
curl_easy_setopt(curl, CURLOPT_POSTQUOTE, headerlist);
res = curl_easy_perform(curl);
/* always cleanup */
curl_easy_cleanup(curl);
if(CURLE_OK != res)
{
/* we failed */
fprintf(stderr, "curl told us %d\n", res);
}
}
if(ftpfile.stream)
fclose(ftpfile.stream); /* close the local file */
curl_global_cleanup();
return 0;
}=====-----=====-----=====
Notice: The information contained in this e-mail
message and/or attachments to it may contain
confidential or privileged information. If you are
not the intended recipient, any dissemination, use,
review, distribution, printing or copying of the
information contained in this e-mail message
and/or attachments to it are strictly prohibited. If
you have received this communication in error,
please notify us by reply e-mail or telephone and
immediately and permanently delete the message
and any attachments. Thank you
-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette: http://curl.haxx.se/mail/etiquette.html