Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Natürlich indem Du die Daten unter Verwendung des FTP-Protokolls zum Server sendest.

Wenn Du eine fertige Funktion suchst, die Du auch nutzen kannst, ohne viel Ahnung vom FTP-Protokoll selbst zu haben, dann schau Dir z.B. FtpPutFile an.

Geschrieben

Ich habe mittlerweile etwas mehr heraus gefunden:


HINTERNET FTP;

HINTERNET TEST;


//Datei an FTP Server senden....

FTP = InternetOpen( "ftp://server.net",INTERNET_OPEN_TYPE_DIRECT,NULL,NULL,INTERNET_FLAG_ASYNC);

TEST = InternetConnect(FTP,"ftp://server.net",21,NULL,NULL,INTERNET_SERVICE_FTP,INTERNET_FLAG_PASSIVE,NULL);

bCheck = FtpPutFile(FTP, "c:\\test","ftp://server.net/test.txt",FTP_TRANSFER_TYPE_UNKNOWN,INTERNET_FLAG_RELOAD);


Aber es funktioniert noch nicht ganz.

InternetConnect gibt 0x0000000 zurück.

Und FtpPutFile = FALSE.

Woran könnte das noch liegen?

  • 2 Wochen später...
Geschrieben

Was heißt "tut nicht, was es soll"?

Rückgabewert? GetLastError()?

Der letzte Parameter wird nur benutzt, wenn du mit InternetSetStatusCallback eine Callbackfunktion angegeben hast. Ansonsten kannst du da 0 übergeben.

Geschrieben

Rückgabewert = FALSE.

GetLastError gibt mir ein "ò".

Weiß aber nicht ob ich die Funktion richtig benutzt hab.

Das habe ich nämlich noch nie *schäm*

bCheck = FtpPutFile(FTP, "D:\test.txt","test.txt",INTERNET_FLAG_TRANSFER_ASCII,INTERNET_FLAG_RELOAD);

CString csError = GetLastError();

Geschrieben
Rückgabewert = FALSE.

GetLastError gibt mir ein "ò".

GetLastError liefert eine Zahl ;)

Der Backslash im zweiten Parameter muss auf jeden Fall doppelt sein. \t ist die Escapesequenz für ein Tab-Zeichen.

Geschrieben

Sorry hab ich hier falsch gepostet. Im Code sind es zwei \\.

Aslo der Letzte Parameter ist definitiv falsch.

Da muss InternetSetStatusCallback rein.

Glaub ich... Mal sehen ob ich rausbekomme wie....

Geschrieben
Sorry hab ich hier falsch gepostet. Im Code sind es zwei \\.

Aslo der Letzte Parameter ist definitiv falsch.

Hast du gelesen, was ich dazu geschrieben habe?

Übrigens, 12018 ist ERROR_INTERNET_INCORRECT_HANDLE_TYPE. Gib da mal TEST an, nicht FTP.

Geschrieben

So sieht das ganze aus:


HINTERNET FTP;


FTP = InternetOpen( "[COLOR="darkred"]ftp://server.net[/COLOR]",INTERNET_OPEN_TYPE_DIRECT,NULL,NULL,INTERNET_FLAG_ASYNC);


[COLOR="SeaGreen"]//           HANDLE,      IP, PORT, BENUTZER, PASSWORT[/COLOR]

InternetConnect(FTP, "[COLOR="darkred"]server.net[/COLOR]",21,NULL,NULL,INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE,NULL);


bCheck = FtpPutFile(FTP, "[COLOR="DarkRed"]D:\\test.txt[/COLOR]","[COLOR="darkred"]test.txt[/COLOR]",INTERNET_FLAG_TRANSFER_ASCII,[B]NULL[/B]);

Es meinst warscheinlich das Handle FTP.

Aber mir ist immer noch nicht klar was ich als letzten Parameter bei FtpPutFile eingeben muss wo jetzt NULL steht.

Geschrieben

Bei InternetOpen ist der erste Parameter ja auch falsch.

Er will das hier:

lpszAgent

[in] Pointer to a null-terminated string that specifies the name of the application or entity calling the WinINet functions. This name is used as the user agent in the HTTP protocol.

Was bedeutet das denn?

  • 3 Wochen später...
Geschrieben


HINTERNET FTP;


FTP = InternetOpen( "ftp://lalala.de",INTERNET_OPEN_TYPE_DIRECT,NULL,NULL,INTERNET_FLAG_ASYNC);


//           HANDLE,      IP, PORT, BENUTZER, PASSWORT

InternetConnect(FTP, "lala.de",21,"username","passwort",INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE,NULL);

FtpPutFile(FTP, "D:\\lala.exe","htdocs\\lala.exe",INTERNET_FLAG_TRANSFER_ASCII,NULL);

kann mir einer erklären warum er es nicht hochläd?

Geschrieben

Ich würde es mal ohne den Unterordner htdocs versuchen.

Nur zum Test! Kann aber auch an Den Einstelllungen vom Server liegen oder an einer Firewall.

Ich hatte auch ein paar Probleme, bis ich den Server richtig konfiguriert hatte.

Geschrieben

Hast du den Thread nicht gelesen? Das ist genau dasselbe Problem, das Filou auch hatte. Du musst bei FtpPutFile das Handle angeben, dass du bei InternetConnect als Rückgabewert bekommst (und momentan wegwirfst).

Geschrieben
aber jetzt bekomm ich nen fehlercode 12003
Das ist, wie man in wininet.h nachlesen kann, ERROR_INTERNET_EXTENDED_ERROR. Die MSDN Library sagt dazu:

ERROR_INTERNET_EXTENDED_ERROR

An extended error was returned from the server. This is typically a string or buffer containing a verbose error message. Call InternetGetLastResponseInfo to retrieve the error text.

Geschrieben

es klappt eh alles, fehlercode wird 0 zurückgegeben, nur am ftp ist die datei 147 kb groß

HINTERNET hFtp = InternetOpen("ftp://server.de", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, NULL);

cout << GetLastError( )<<endl;

hFtp = InternetConnect(hFtp, "server.de", 21, "user", "pass", INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE, NULL);

cout << GetLastError( )<<endl;

FtpPutFile(hFtp, "D:\\asp100.zip", "htdocs//lala.zip", FTP_TRANSFER_TYPE_BINARY, NULL);

cout << GetLastError( )<<endl;

InternetCloseHandle(hFtp);

Geschrieben
es klappt eh alles, fehlercode wird 0 zurückgegeben,
Nur am Rande: GetLastError kann man nur dann sinnvoll aufrufen, wenn vorher etwas schiefgegangen ist.

nur am ftp ist die datei 147 kb groß
Und? Ist das zu viel oder zu wenig? Wie groß ist die Quelldatei? Stimmt der Inhalt, oder steht da nur Quatsch drin?

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...