Delphi WebDAV programımda 403 hatası alıyorum veya CarotDAV istemcisi düzgün çalışıyor
Windows 10 altında bir IIS ve WebDAV'ım var. Şimdi, SSL modunda (https) WebDAV aracılığıyla belirli bir dosyayı almak için iyi çalışan / n Yazılımından Delphi 10.4 Webdav bileşenini denedim. Ancak Dizin listesini almayı denemek istediğimde HTTP HATASI 403 alıyorum. Sunucudaki günlük dosyasında PROPFIND girişinde 403 Hata notu olduğunu görüyorum. Bu nedene benzer: IIS-403 err
HA buradaki herhangi biri bu sorunu nerede çözebileceğime dair bir fikir. Çok teşekkürler.
Yanıtlar
Nedeni: (/ n yazılımından Hugh Wright tarafından yanıtlanmıştır)
Bu hatanın birkaç olası nedeni vardır. Benzer hataları yaşayan önceki kullanıcılar, WebDAV bileşeninin derinlik özelliğini değiştirerek bu sorunu düzeltti. Varsayılan olarak, WebDAV bileşeni FindProperties ve ListDirectory dahil olmak üzere belirli yöntemleri çağırırken sonsuz derinliği kullanır. Bazı sunucular sonsuz derinliğe sahip istekleri desteklemez ve istek yapıldığında 403 hatası döndürebilir.
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');
Sorunun Derinlik Özelliği olduğunu doğrulayabildim. Varsayılan olarak, CarotDAV 1 derinlik kullanır (Acil Çocuklar) ve bizim bileşenimiz kullanmaz.