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) HTTP POST and Stream Response to FileDemonstrates how to send an HTTP POST and stream the response body directly to a file.
LOCAL loRest LOCAL loUrl LOCAL lnBAutoReconnect LOCAL lnSuccess LOCAL lnResponseStatusCode LOCAL loBodyStream LOCAL lcErrResponse * This example requires 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.Rest') loRest = CreateObject('Chilkat.Rest') * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Url') loUrl = CreateObject('Chilkat.Url') * This URL will emit a response that echos the query params (name and age) loUrl.ParseUrl("https://www.chilkatsoft.com/readPost.asp") * Connect to the web server lnBAutoReconnect = 1 lnSuccess = loRest.Connect(loUrl.Host,loUrl.Port,loUrl.Ssl,lnBAutoReconnect) IF (lnSuccess <> 1) THEN ? loRest.LastErrorText RELEASE loRest RELEASE loUrl CANCEL ENDIF loRest.AddQueryParam("name","John") loRest.AddQueryParam("age","33") * Send the HTTP POST. lnSuccess = loRest.SendReqFormUrlEncoded("POST",loUrl.Path) IF (lnSuccess <> 1) THEN ? loRest.LastErrorText RELEASE loRest RELEASE loUrl CANCEL ENDIF * Read the response header. lnResponseStatusCode = loRest.ReadResponseHeader() IF (lnResponseStatusCode < 0) THEN ? loRest.LastErrorText RELEASE loRest RELEASE loUrl CANCEL ENDIF ? "Response status code = " + STR(lnResponseStatusCode) * We expect a 200 response status if the file data is coming. * Otherwise, we'll get a string response body with an error message(or no response body). IF (lnResponseStatusCode = 200) THEN * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Stream') loBodyStream = CreateObject('Chilkat.Stream') * The stream's sink will be a file. loBodyStream.SinkFile = "qa_output/out.txt" * Read the response body to the stream. Given that we've * set the stream's sink to a file, it will stream directly * to the file. lnSuccess = loRest.ReadRespBodyStream(loBodyStream,1) IF (lnSuccess <> 1) THEN ? loRest.LastErrorText RELEASE loRest RELEASE loUrl RELEASE loBodyStream CANCEL ENDIF ? "Successfully streamed the response to a file." ELSE lcErrResponse = loRest.ReadRespBodyString() IF (loRest.LastMethodSuccess <> 1) THEN ? loRest.LastErrorText ELSE ? lcErrResponse ENDIF ENDIF RELEASE loRest RELEASE loUrl RELEASE loBodyStream |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.