Thema: Delphi WebDAV Login Beispiel

Einzelnen Beitrag anzeigen

WiPhi

Registriert seit: 19. Feb 2015
90 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: WebDAV Login Beispiel

  Alt 15. Aug 2020, 20:16
Also ich habe WebDAV mit Indy ohne Probleme am laufen. WebDAV ist ja nur ein Aufsatz auf das Indy Http.

Bei mir klappts wie folgt:
Instanz erzeugen + SSL + Authentification + den Request konfigurieren:
Delphi-Quellcode:
  WebDAVClient := TIdWebDAV.Create;
  WebDAVClient.Intercept := LogEvent;
  WebDAVClient.IOHandler := OpenSSL;
  WebDAVClient.Request.BasicAuthentication := True;
  WebDAVClient.AllowCookies := True;
  WebDAVClient.HandleRedirects := True;
  WebDAVClient.Request.AcceptCharSet := 'utf-8';
  WebDAVClient.Request.CacheControl := 'no-cache';
  WebDAVClient.Request.Connection := 'Keep-Alive';
  WebDAVClient.Request.ContentEncoding := 'utf-8';
Anschließend ein Listing aus dem Root-Verzeichnis abfordern:
Delphi-Quellcode:
  Response := TMemoryStream.Create;
  try
    try
      WebDAVClient.DAVPropFind(URL, nil, Response, '1', 1, 1);
    except
      on E: EIdHTTPProtocolException do
        raise ELoginCredentialError.Create(E.Message);
    end;
    WebDAVXml.LoadFromStream(Response);
{$IFDEF DEBUG}
    WebDAVXml.SaveToFile('WebDAVResponse.xml');
{$ENDIF}
  finally
    Response.Free;
  end;
WebDAVXml ist ein TXmlDocument für die Serverantwort vom WebDAV. Wir verwenden das Apache WebDAV-Modul, aber das sollte keine Rolle spielen.
Wer sucht, der findet. Wer länger sucht, findet mehr.
  Mit Zitat antworten Zitat