I don't run NCSA http, but CERN httpd and I don't know if there is a
difference between this 2 servers.
The following C source actually work well, with CERN httpd 2.18 and Mosaic
2.4, on a Sun OS 4.1.3
------------------------------------------------------------
#include <stdio.h>
char *machinename = "moulon";
char *username = "ftp";
char *password = "decoux@moulon.inra.fr";
char *directory = "/pub/www-acedb";
char *filename = "README";
main()
{
char *ftpcom;
FILE *fp;
printf("Content-type: text/html\r\n\r\n");
printf("<H1>FTP request:</H1>\n");
ftpcom = (char *) malloc(20); /* allocate string for ftp command */
sprintf(ftpcom, "ftp -n %s%c", machinename,10); /* put ftp command in string */
fp = popen(ftpcom, "w"); /* send ftp command */
fprintf(fp, "user %s %s%c", username,password, 10); /* login at remote machine, under ftp */
fprintf(fp, "cd %s%c", directory, 10); /* go to correct directory */
fprintf(fp, "get %s /tmp/%s%c", filename, filename, 10); /* get file */
fprintf(fp, "quit%c", 10); /* quit ftp */
pclose(fp); /* close pipe */
printf("Command: %s was executed<p>\n", ftpcom, 10); /* tell client ftp
done */
free(ftpcom);
}
------------------------------------------------------------
If you want to test it, URL is :
http://moulon.inra.fr/cgi-bin/ftp-example
Guy Decoux