whizzle Geschrieben 28. Februar 2002 Geschrieben 28. Februar 2002 Maaahlzeit! Ich versuche mich gerade erfolgelos an folgendem: hInternet = InternetOpen(szAppName, INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, INTERNET_FLAG_ASYNC); hFtpConnect = InternetConnect(hInternet, _("Ftp://Ftp.Beispiel.com/"), INTERNET_INVALID_PORT_NUMBER, NULL, NULL, INTERNET_SERVICE_FTP, 0, 0); Leider schlägt letztere Funktion immer fehl, was wohl an unserem Firmen-Proxy liegt. Er verlangt nämlich eine Authentifizierung des Users. Ich weiss, dass ich der Funktion Benutzer u. Passwort mit auf den Weg geben kann, allerdings nur für einen Http-Zugriff. Das funktioniert auch wunderbar. In der Plattform-SDK habe ich einen Artikel gefunden, der die Lösung meines Problems beschreibt, allerdings auch nur für das Http-Protokoll. Dort wird auch erwähnt, dass es zur Zeit keine Möglichkeit gibt, die Lösung auf's Ftp-Protokoll zu übertragen. Nur: Handelsübliche Browser können's doch auch?!? Ich benutze übrigens das Visual Studio 6.0 und die Win32-API, keine MFC. Weis jemand Rat? Danke und Gruß Zitieren
Klotzkopp Geschrieben 28. Februar 2002 Geschrieben 28. Februar 2002 Es sollte möglich sein, die Authentifizierung in den URL einzubauen: ftp://user:passwort@ftp.Beispiel.com/ Zitieren
whizzle Geschrieben 28. Februar 2002 Autor Geschrieben 28. Februar 2002 Ja schon, aber dies ist ja die Authentifizierung für den Ftp-Server. Ich muss mich - bevor ich überhaupt an ihn rankomme - gegenüber dem Proxy-Server ausweisen. Und da liegt das Problem... Zitieren
Klotzkopp Geschrieben 28. Februar 2002 Geschrieben 28. Februar 2002 Da hab ich Dich falsch verstanden. Aber ich hab das gefunden: SAMPLE: FTP with CERN-Based Password Protected Proxy Using WinInet (Q216214) http://support.microsoft.com/default.aspx?scid=kb;EN-US;q216214 Zitieren
whizzle Geschrieben 28. Februar 2002 Autor Geschrieben 28. Februar 2002 Jo, super, das sieht gut aus. Hab's zwar noch nicht ausprobiert, aber es ist genau mein Problem. Wenn ich nicht weiterkomme, werde ich mich nochmal hier melden, bis dahin vielen Dank !! Gruß und Kniefall Zitieren
whizzle Geschrieben 13. März 2002 Autor Geschrieben 13. März 2002 Da bin ich wieder...und habe inzwischen eine einwandfreie Verbindung zu beliebigen Ftp-Servern hergestellt, Dateien runtergezogen etc. Allerdings muss ich mich immer wieder ärgern, wenn der Server überlastet ist oder der Verbindungsaufbau aus sonstigen Gründen seeeehr lange dauert (beim IE scheint dann der blaue Fortschrittsbalken stehenzubleiben). Die einzige Möglichkeit, den Vorgang abzubrechen, ist, den Thread gewaltsam zu beenden ( TerminateThread(...) ). Daher muss ich das ganze jetzt asyncron auf die Kette bekommen. Das sieht dann folgendermaßen aus: ////////////////////////////////////////////////////////////// // WinINet-API initialisieren // static HINTERNET hInternet, hResource; hInternet = InternetOpen(szModuleFileName, INTERNET_OPEN_TYPE_PRECONFIG, NULL, 0, INTERNET_FLAG_ASYNC); ///////////////////////////////////////////////////// // Callback-Funktion für asyncronen Download // anmelden // InternetSetStatusCallback(hInternet, AsyncLoadFunc)); ////////////////////////////////////////////////// // // HTTP-Anfrage an URL absetzen // hResource = InternetOpenUrl(hInternet, pUrl, NULL, 0, INTERNET_FLAG_RELOAD | INTERNET_FLAG_DONT_CACHE | INTERNET_FLAG_PRAGMA_NOCACHE, 0); if(!hResource && (GetLastError() == ERROR_IO_PENDING)) { ////////////////////////////////////// // // Anfrage erfolgreich abgesetzt // } Soweit klappt's auch, alle Funktionen melden "Erfolg". Bloß: meine Callback-Funktion kommt nie zum Aufruf! Und nu? Hier noch ein wertvoller Link, der mich an dieser Stelle aber auch nicht weiterbringt. http://www.codeproject.com/useritems/asyncwininet.asp#xx84726xx Gruß Zitieren
Empfohlene Beiträge
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.