Ich erhalte eine Fehlermeldung 403 mit meinem Delphi WebDAV-Programm, und der CarotDAV-Client funktioniert nicht einwandfrei
Ich habe einen IIS und WebDAV unter Windows 10. Jetzt habe ich Delphi 10.4 Webdav-Komponente von / n Software ausprobiert, die gut zum Abrufen einer bestimmten Datei über WebDAV im SSL-Modus (https) geeignet ist. Wenn ich jedoch versuchen möchte, die Verzeichnisliste abzurufen, wird ein HTTP-FEHLER 403 angezeigt. In der Protokolldatei auf dem Server wird angezeigt, dass der Eintrag PROPFIND den Fehlerhinweis 403 enthält. Der Grund ist ähnlich: IIS-403 err
Hat jemand hier eine Idee, wo ich dieses Problem lösen könnte. Vielen Dank.
Antworten
Der Grund ist: (Beantwortet von Hugh Wright von / n Software)
Es gibt mehrere mögliche Ursachen für diesen Fehler. Frühere Benutzer mit ähnlichen Fehlern haben dies behoben, indem sie die Tiefeneigenschaft der WebDAV-Komponente geändert haben. Standardmäßig verwendet die WebDAV-Komponente beim Aufrufen bestimmter Methoden, einschließlich FindProperties und ListDirectory, eine Tiefe von unendlich. Einige Server unterstützen keine Anforderungen mit einer Tiefe von unendlich und geben möglicherweise einen 403-Fehler zurück, wenn die Anforderung gestellt wird.
Webdav1.User := 'username';
Webdav1.Password := 'password';
Webdav1.AuthScheme := authBasic;
Webdav1.Depth := dpImmediateChildren; // The server will operate on the
// collection resource URI and all of
// its immediate member resources (but
// on none of their member resources).
Webdav1.FindProperties('ResourceURI');
Ich konnte bestätigen, dass das Problem die Tiefeneigenschaft war. Standardmäßig verwendet CarotDAV eine Tiefe von 1 (Sofortige Kinder), unsere Komponente jedoch nicht.