Wininet



  • Hallo Forum,

    ich wollte eine Datei per FTP herunterladen
    und verwende hierfür die wininet.dll

    Mein Code sieht wie folgt aus:

    LPCWSTR agent = TEXT("Tornado");
    	LPCWSTR _localPath;
    	LPCWSTR _remotePath;
    	bool bsuccess;
    	HINTERNET ftpSession;
    	HINTERNET ftpConnect;
    	HINTERNET hFile;
    	INTERNET_PORT _port = 21;
    	LPDWORD a=0,c=0;
    	LPWSTR b;
    	LPCTSTR prx = TEXT("10.14.5.4");
    	DWORD cchUserLength=127, cchPasswordLength=127,cchProxylength=127;
    
    	ftpSession = InternetOpen(
    		agent,
    		INTERNET_OPEN_TYPE_PRECONFIG_WITH_NO_AUTOPROXY,
    		prx,
    		NULL,
    		NULL);
    
    	if(ftpSession == NULL)
    	{
    		std::cout << "NULL" << std::endl;
    		std::cout << ":" <<GetLastError() << std::endl;
    	}
    
    	InternetSetOption(ftpSession,INTERNET_OPEN_TYPE_PROXY,"192.168.1.1",cchProxylength);
    	InternetSetOption(ftpSession,INTERNET_OPTION_PROXY_USERNAME,"UserName",cchUserLength+1);
    	InternetSetOption(ftpSession,INTERNET_OPTION_PROXY_PASSWORD,"Password",cchPasswordLength+1);
    
    	ftpConnect = InternetConnect(ftpSession,TEXT("ftp://irgendwas.de"),INTERNET_DEFAULT_FTP_PORT,TEXT("Username"),
    								TEXT("Password"),INTERNET_SERVICE_FTP,INTERNET_FLAG_PASSIVE,0);
    
    FtpSetCurrentDirectory(ftpConnect,TEXT("files"));
    	if(FtpPutFile(ftpConnect,TEXT("D:\\ftpTest.txt"),TEXT("123.txt"),FTP_TRANSFER_TYPE_UNKNOWN,0))
    	{
    		std::cout << "Success" << std::endl;
    	}
    

    So wie man erkennen kann muss ich mich vorher an einem Proxy
    authentifizieren allerdings funktioniert dies nicht.

    Da ich im Moment in einer Umgebung bin wo kein Proxy dazwichen funkt
    wird die Datei trotzdem hochgeladen.

    Wird der Proxy allerdings dazwischen geschaltet sieht es
    so aus als ob die Proxy Einstellungen nie verwendet werden
    und die Datei wird auch nicht hochgeladen.

    Hat hier jemand einen Tipp für mich ?



  • Dieser Thread wurde von Moderator/in evilissimo aus dem Forum C++ in das Forum WinAPI verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Vermutlich unterstützt Dein Proxy kein FTP! Das machen die wenigsten by default...



  • Hi erstmal danke für die Antworten
    und entschuldigt die verspätete Reaktion.

    Also der Proxy ist auf jeden Fall ein Proxy
    der macht nichts anderes als FTP Proxy zu sein.

    Wenn ich diesen in z.B. SmartFTP eintrage gelingt der
    Zugriff auch..

    Noch jemand eine Idee ?



  • GetLastError usw...



  • GetLastError ist

    12029 ERROR_INTERNET_CANNOT_CONNECT
    The attempt to connect to the server failed.



  • Helft mir doch mal bitte!!!



  • Öh: Ist INTERNET_OPEN_TYPE_PROXY nicht für InternetOpen() gedacht statt für InternetSetOption() ?

    (quasi statt INTERNET_OPEN_TYPE_PRECONFIG_WITH_NO_AUTOPROXY ?)


Anmelden zum Antworten