![]() |
WebDav - NextCloud
Habe mir per GetIt IPWorks 2020 installiert. Und per
![]() Hat Jemand auch per IPWorks, WebDav und NextCloud Tests durchgeführt? Welche Erfahrungen wurden gemacht? Hat Jemand eine Alternative um per WebDav Daten von einer NextCloud abzufragen? |
AW: WebDav - NextCloud
Ich nehme die bei Delphi mitgelieferte Indy-Komponente TidWebDAV.
Die tut alles was sie soll mit Nextcloud. Carsten |
AW: WebDav - NextCloud
Mit TidWebDAV bekomme ich nicht mal ein Login hin, auch nicht mit den Hilfen hier im Forum oder was man so mit googeln so findet.
Falls Du für mich ein Beispiel hättest, wäre dies Supper. Trotz allem, wäre es für mich von Interesse, ob Jemand IPWorks einsetzt. |
AW: WebDav - NextCloud
Hallo, ich verwende verschiedene Komponenten von /Nsoftware seit vielen Jahren. Die haben zwar ein merkwürdiges Design, aber hat man das begriffen sind es die stabilsten Komponenten die ich bisher verwendet habe.
WebDav habe ich bisher nie ausprobiert, da aber alle Komponenten gleich aufgebaut sind, sind die aber gleich zu debuggen. Für den Anfang, implementiere alle Ereignishandler und schreibe alle Ereignisse in einen Log. Schau dir an was der Befehl Config für Aufgaben hat. Es sind manchmal komisch Einstellungen zu machen. Hold dir eine Trial von FileZilla Pro, die kann auch WebDav. Damit kannst Du testen ob dort alles klappt wie es soll. |
AW: WebDav - NextCloud
Wichtig ist ein aktuelles Indy gewesen. Das musste ich erstmal aktualisieren.
Und dann muss natürlich die Verschlüsselung zum System passen. Ich kann mal ein paar Code-Schnipsel raussuchen. Carsten |
AW: WebDav - NextCloud
Hier mal der Inhalt der dfm-Datei und 2 Beispiele wie ich eine Datei und eine Auflsitung des Serverinhalts mache:
Code:
object IdConnectionIntercept: TIdConnectionIntercept
Left = 512 Top = 64 end object IdSSLIOHandlerSocketOpenSSL: TIdSSLIOHandlerSocketOpenSSL Intercept = IdConnectionIntercept MaxLineAction = maException Port = 0 DefaultPort = 0 SSLOptions.Method = sslvTLSv1_2 SSLOptions.SSLVersions = [sslvTLSv1_2] SSLOptions.Mode = sslmUnassigned SSLOptions.VerifyMode = [] SSLOptions.VerifyDepth = 0 Left = 456 Top = 48 end object IdWebDAV: TIdWebDAV Intercept = IdConnectionIntercept IOHandler = IdSSLIOHandlerSocketOpenSSL OnWork = IdWebDAVWork OnWorkBegin = IdWebDAVWorkBegin OnWorkEnd = IdWebDAVWorkEnd HandleRedirects = True ProxyParams.BasicAuthentication = False ProxyParams.ProxyPort = 0 Request.CacheControl = 'no-cache' Request.Connection = 'Keep-Alive' Request.ContentEncoding = 'utf-8' Request.ContentLength = -1 Request.ContentRangeEnd = -1 Request.ContentRangeStart = -1 Request.ContentRangeInstanceLength = -1 Request.Accept = 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' Request.AcceptCharSet = 'utf-8' Request.BasicAuthentication = True Request.UserAgent = 'Mozilla/3.0 (compatible; Indy Library)' Request.Ranges.Units = 'bytes' Request.Ranges = <> HTTPOptions = [hoForceEncodeParams] Left = 400 Top = 32 end // datei öffnen stream:=TMemoryStream.Create; ss:=TStringList.Create; IdWebDAV.Request.URL:=....; IdWebDAV.Request.Username:=....; IdWebDAV.Request.Password:=....; IdWebDAV.Request.CustomHeaders.Clear; try IdWebDAV.Get(<URL der Datei>, stream); stream.Position:=0; ss.LoadFromStream(stream); except on E:Exception do MessageDlg(E.Message + ' ('+<URL der Datei>+')', mtWarning, [mbOK], 0); end; ss.Free; stream.Free; // dateiverzeichnis abfragen WebDAVXml:IXMLDocument ; xmlResponse:=TMemoryStream.Create; IdWebDAV.DAVPropFind(Serverpfad, nil, xmlResponse, '4', 1, 4); // Die '1' lädt das aktuelle Verzeichnis, die Tiefe kann hier bestimmt werden WebDAVXml:=TXmlDocument.Create(nil); try WebDAVXml.LoadFromStream(xmlResponse); ... xml analysieren except .... //xml-Fehler end; xmlResponse.free; |
AW: WebDav - NextCloud
Danke Carsten, hat sofort funktioniert.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:38 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz