Zugriff auf Webordner



  • Hallo alle zusammen,

    ich muss Dateien über eine eigene Applikation auf einem Webordner zugreifen(Datei öffnen / speichern). Ich habe es jetzt schon mal über OLE mit dem Internet Explorer versucht, aber irgendwie schaff ich es nicht die Seite als Webordner zu öffnen. Hierzu sei gesagt, dass es sich um eine https-Verbindung mit einer Authentifizierung handelt.

    Ich wollte mir eine Instanz vom IE anlegen (was auch funktioniert hat), dort den Webordner öffnen und dann über das Clipboard eine Datei einfügen.
    Mit der "Navigate"-Methode öffnet de IE zwar die Seite, aber erst nachdem ich den Usernamen und das Passwort manuell angegeben hab. Und dann öffnet es sich auch nur als Webseite und nicht als Webordner. 😞

    Gibt es hier überhaupt eine Möglichkeit oder muss ich es auf anderem Wege versuchen? 😕

    Danke schon mal!



  • Du solltest einfach WinInet verwenden...
    http://www.google.de/search?q=wininet+site%3Acodeproject.com



  • gut, ich hab's mal mit wininet probiert, aber leider erhalte ich immer einen Fehler von ner Firewall, dass die URL nicht aufgelöst werden konnte. Muss ich hier noch irgenwelche Angaben neben dem Proxy machen?

    Folgendes hab ich mal versucht

    HINTERNET open = ::InternetOpen( "taz++", // agent
    		INTERNET_OPEN_TYPE_PRECONFIG, // access type
    		"mein.proxy.de:8000", // proxy
    		NULL, // proxy by pass
    		0); // flags
    
    HINTERNET connect =::InternetConnect(open,
    		"https://sub.network.server.com",
    		INTERNET_DEFAULT_HTTPS_PORT,
    		"user","passwort",
    		INTERNET_SERVICE_HTTP,
    		0,
    		NULL);
    
    HINTERNET hHttpFile=::HttpOpenRequest( connect,
    		"GET", // HTTP Verb
    		"/out", // Object Name
    		HTTP_VERSION, // Version ("HTTP/1.0")
    		NULL, // Reference
    		0, // Accept Type
    		INTERNET_FLAG_NO_CACHE_WRITE | INTERNET_FLAG_SECURE, //https!!!
    		NULL); // context call-back point
    
    BOOL bSendRequest = ::HttpSendRequest(hHttpFile, NULL, 0, 0, 0);
    
    char bufQuery[32] ;
    DWORD dwLengthBufQuery = sizeof(bufQuery);
    DWORD dwIndex;
    BOOL bQuery = ::HttpQueryInfo(hHttpFile,
    	  HTTP_QUERY_CONTENT_LENGTH, 
    	  bufQuery, 
    	  &dwLengthBufQuery,
    	  &dwIndex);
    
    // Speicher für Buffer anfordern.   
    char* buffer = new char[dwFileSize+1] ;
    
    // Datei in Buffer einlesen. 
    DWORD dwBytesRead ;
    BOOL bRead = ::InternetReadFile(hHttpFile,
    	buffer,
    	dwFileSize+1, 
    	&dwBytesRead);
    
    // Null-terminierter String
    buffer[dwBytesRead] = 0 ;
    printf("OK  - Datei:\n%s",buffer);
    
    ::InternetCloseHandle(hHttpFile);
    ::InternetCloseHandle(connect);
    ::InternetCloseHandle(open);
    

    Hab ich vielleicht noch irgendwas vergessen??? 😕
    Oder gibt es ne Möglichkeit die Einstellungen vom Explorer für die eigene Applikation zu verwenden? Denn über den Explorer komm ich ja auf den Webordner.

    Bin für jede Hilfe dankbar!


Anmelden zum Antworten