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
(PowerBuilder) WebDAV PROPFINDDemonstrates how to send a WebDAV PROPFIND HTTP request.
integer li_rc oleobject loo_Req oleobject loo_Http integer li_Success string ls_XmlBody oleobject loo_Resp string ls_ResponseXml integer li_StatusCode // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. loo_Req = create oleobject // Use "Chilkat_9_5_0.HttpRequest" for versions of Chilkat < 10.0.0 li_rc = loo_Req.ConnectToNewObject("Chilkat.HttpRequest") if li_rc < 0 then destroy loo_Req MessageBox("Error","Connecting to COM object failed") return end if loo_Http = create oleobject // Use "Chilkat_9_5_0.Http" for versions of Chilkat < 10.0.0 li_rc = loo_Http.ConnectToNewObject("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" loo_Req.HttpVerb = "PROPFIND" // The Content-Type should be "application/xml", and // the charset attribute in the Content-Type header should // be utf-8: loo_Req.ContentType = "application/xml" loo_Req.Charset = "utf-8" loo_Req.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: ls_XmlBody = "This is the string that should contain the XML body..." li_Success = loo_Req.LoadBodyFromString(ls_XmlBody,"utf-8") if li_Success <> 1 then Write-Debug loo_Req.LastErrorText destroy loo_Req destroy loo_Http return end if // 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: loo_Resp = loo_Http.SynchronousRequest("webdav.chilkatstorage.com",443,1,loo_Req) if loo_Http.LastMethodSuccess = 0 then Write-Debug loo_Http.LastErrorText destroy loo_Req destroy loo_Http return end if // Get the XML response: ls_ResponseXml = loo_Resp.BodyStr Write-Debug "XML Response: " + ls_ResponseXml // Get the response status code, such as 207 li_StatusCode = loo_Resp.StatusCode Write-Debug "StatusCode = " + string(li_StatusCode) destroy loo_Resp destroy loo_Req destroy loo_Http |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.