Wie sende ich in C daten auf den FTP server???
Druckbare Version
Wie sende ich in C daten auf den FTP server???
mit sockets^^
aber es gibt auch ne lib dafür
http://nbpfaus.net/~pfau/ftplib/
naja, hatte es so versucht:
system("ftp beispiel.be.ohost.de\n");
system("userNAMe");
system("passwort");
system("put C:\DOKUME~1\%userprofile%\Eigene Dateien\Eigene Bilder\*.jpg");
wei mache ich es richtig??
das ist ein totaler fail.
sobald system("ftp beispiel.be.ohost.de\n"); durch ist wird der ftp wieder geschlossen und zu kommst garnet erst zum username.
da kannste wirklich nur die ftplib versuchen, hat ja auch ne doku.
oder wininet.h includen und folgende API-Aufrufe tätigen:
InternetOpen(), InternetConnect(), FtpPutFile(), InternetCloseHandle()
Selber das FTP-Protkoll implementieren.
Dann hast du Kontrolle über deinen Code...
http://disses-blog.com/?p=11
ka ob dir das wirklich hilft XD
Variante 1: Sockets und Protokoll selber implementieren
Variante 2: Libs benutzen
Variante 3: WinAPI Funktionen Benutzen
Variante 4: ftp Programm per popen() (ähnlich wie fopen) öffnen und Befehle reinsenden (entspricht ungefähr deiner system("...")-Lösung - nur eben funktionsfähig)
Ich weiss ja nicht was du mit dem Programm machen willst, aber ich glaube Sockets und sind erzeugen keine Firewall meldung ;)
Code:#include <stdio.h>
int main(void)
{
FILE *prog;
char buffer[1024];
// popen gibt einen Zeiger auf eine FILE-Struktur zurück,
// wenn alles funktioniert. Im Fehlerfall gibt es einfach
// 0 zurück.
if (!(prog = popen("programm.exe parameter1 parameter2 ...", "r+b")))
{
// Programm nicht gefunden / nicht ausführbar / whatever
return 1;
}
// ab hier kann man "prog" wie ein ganz normales FILE Handle benutzen
// Funktionen wie fputs, fwrite, fread, fgets, fprintf, usw.
// stehen also zur Verfügung
fputs("Das ist ein Test", prog); // String senden
fread(buffer, 1, sizeof(buffer), prog); // Antwort auslesen
puts(buffer); // Antwort ausgeben
// hier pclose und NICHT fclose verwenden. Damit wird der Prozess des
// Programms beendet.
pclose(prog);
return 0;
}
Vollquote des Vorposters entfernt -BlackBerry
Schlag mich wenn ich's nicht begreife, aber wie Lade ich damit was auf den FTP-server???
Du scheinst keinen Plan von C zu haben, setzt uns irgend einen Code vor und verlangst dann, dass wir dir alles vorkauen und eine fertige Lösung hinschreiben. Mit den bereits gesagten Dingen (Winapi, ftplib etc.) wäre es für einen User, der nur ein bisschen Eigeninitiative zeigen würde kein Problem sich selber was zu basteln. Lern bitte erst einmal mit Google, MSDN und deiner Compilerdoku umzugehen, bevor du uns hier auf die Bäume treibst.
Du hast doch bereits dein system()-Zeug gepostet. Wenn das von den Befehlen funktionieren würde (ich habe noch nicht mit Microsofts ftp Client gearbeitet, also weiß ich das nicht), dann kannst du das anstatt mit system() über popen() machen, indem du ftp (das Programm) öffnest und die Befehle reinsendest und - wenn nötig - Antworten ausliest.
Einen fertigen Sourcecode bekommst du von mir auf keinen Fall und wenn du ständig nach einem fragst landet der Thread nach §1.4 (wir sind keine Privatlehrer) der Boardregeln einfach auf dem Müll.
Hier nochmal zur Errinnerung was du geschrieben hast:
Mit system() ist doch low, da gibt die Firewall auf jedenfall ne Warnung raus.