auf FTP verbinden



  • hallo,

    kann man sich irgewndwie mit C++ auf einem FTP connecten und dann von dort dateien ziehen?

    Also mit ShellExecute kann man ja dateien einfach von ner Webseite ziehn....
    aber wie gehts mit FTP??
    😞

    thx :p



  • Ich würde ne MFC Konsolenanwendunge nehmen und mit CFtpConnection und CInternetSession eine FTP verbindung herstellen.



  • hatte irgendwann einmal ein kleines test-programm geschrieben ... hier ist es (macht natürlich noch nichts sinnvolles, ausser eine connection herstellen und mal eine dir anlegen und wieder löschen):

    #include <windows.h>
    #include <wininet.h>
    #include <stdio.h>
    
    #pragma comment(lib,"wininet.lib")
    
    int main()
    {
    
        char szDir[4096];
        DWORD dwSize = 4096;
        DWORD dwErrorSize = 4096;
        DWORD dwError = 0;
        char szError[4096];
    
        HINTERNET hInternet = InternetOpen(NULL, INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, INTERNET_FLAG_PASSIVE);
    
        HINTERNET hFtp = InternetConnect(hInternet, "MY_SERVER", INTERNET_DEFAULT_FTP_PORT, "MY_USER_NAME", "MY_PASSWORD", INTERNET_SERVICE_FTP, 0, 0);
    
        InternetGetLastResponseInfo( &dwError, szError, &dwErrorSize);
        dwErrorSize = 4096;
    
        printf("%s\n", szError);
    
        FtpSetCurrentDirectory( hFtp, "MY_ROOT_DIR");
        InternetGetLastResponseInfo( &dwError, szError, &dwErrorSize);
        dwErrorSize = 4096;
        printf("%s\n", szError);
        FtpGetCurrentDirectory( hFtp, szDir, &dwSize);
        InternetGetLastResponseInfo( &dwError, szError, &dwErrorSize);
        dwErrorSize = 4096;
        printf("%s\n", szError);
        FtpRemoveDirectory( hFtp, "MY_TEST_DIR");
        InternetGetLastResponseInfo( &dwError, szError, &dwErrorSize);
        dwErrorSize = 4096;
        printf("%s\n", szError);    
        InternetCloseHandle(hFtp);
        InternetCloseHandle(hInternet);
    
        return 0;
    }
    

    so far ... rocknix ///


Log in to reply