Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Visual FoxPro) WebDAV PROPFINDDemonstrates how to send a WebDAV PROPFIND HTTP request.
LOCAL loReq LOCAL loHttp LOCAL lnSuccess LOCAL lcXmlBody LOCAL loResp LOCAL lcResponseXml LOCAL lnStatusCode * This example assumes the Chilkat API to have been previously unlocked. * See Global Unlock Sample for sample code. * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.HttpRequest') loReq = CreateObject('Chilkat.HttpRequest') * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Http') loHttp = CreateObject('Chilkat.Http') * The PROPFIND request to be sent will look similar to this: * This is from RFC 4918 at http://tools.ietf.org/html/rfc4918#section-9.1.3 * PROPFIND /file HTTP/1.1 * Host: www.example.com * Content-type: application/xml; charset="utf-8" * Content-Length: xxxx * * <?xml version="1.0" encoding="utf-8" ?> * <D:propfind xmlns:D="DAV:"> * <D:prop xmlns:R="http://ns.example.com/boxschema/"> * <R:bigbox/> * <R:author/> * <R:DingALing/> * <R:Random/> * </D:prop> * </D:propfind> * Build the HTTP request object. * The HTTP verb should be "PROPFIND" loReq.HttpVerb = "PROPFIND" * The Content-Type should be "application/xml", and * the charset attribute in the Content-Type header should * be utf-8: loReq.ContentType = "application/xml" loReq.Charset = "utf-8" loReq.SendCharset = 1 * Load the request body with the XML. Your application * is free to construct the XML using any means desired. * Once the XML is prepared, load it into the request body * like this: lcXmlBody = "This is the string that should contain the XML body..." lnSuccess = loReq.LoadBodyFromString(lcXmlBody,"utf-8") IF (lnSuccess <> 1) THEN ? loReq.LastErrorText RELEASE loReq RELEASE loHttp CANCEL ENDIF * For this example, pretend the WEBDAV endpoint is: * https://webdav.chilkatstorage.com/ * Note: There is no actual "chilkatstorage.com" site. * This is only an example... * The "path" part of this endpoint URL is simply "/". * Send the request to the WebDAV endpoint using * the SynchronousRequest method: loResp = loHttp.SynchronousRequest("webdav.chilkatstorage.com",443,1,loReq) IF (loHttp.LastMethodSuccess = 0) THEN ? loHttp.LastErrorText RELEASE loReq RELEASE loHttp CANCEL ENDIF * Get the XML response: lcResponseXml = loResp.BodyStr ? "XML Response: " + lcResponseXml * Get the response status code, such as 207 lnStatusCode = loResp.StatusCode ? "StatusCode = " + STR(lnStatusCode) RELEASE loResp RELEASE loReq RELEASE loHttp |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.