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ß
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/
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...
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
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
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ß
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden