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
(Swift 3,4,5...) HTTP POST and Stream Response to FileDemonstrates how to send an HTTP POST and stream the response body directly to a file.
func chilkatTest() { // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. let rest = CkoRest()! let url = CkoUrl()! // This URL will emit a response that echos the query params (name and age) url.parseUrl("https://www.chilkatsoft.com/readPost.asp") // Connect to the web server var bAutoReconnect: Bool = true var success: Bool = rest.connect(url.host, port: url.port.intValue, tls: url.ssl, autoReconnect: bAutoReconnect) if success != true { print("\(rest.lastErrorText!)") return } rest.addQueryParam("name", value: "John") rest.addQueryParam("age", value: "33") // Send the HTTP POST. success = rest.sendReqFormUrlEncoded("POST", uriPath: url.path) if success != true { print("\(rest.lastErrorText!)") return } // Read the response header. var responseStatusCode: Int = rest.readResponseHeader().intValue if responseStatusCode < 0 { print("\(rest.lastErrorText!)") return } print("Response status code = \(responseStatusCode)") // 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 responseStatusCode == 200 { let bodyStream = CkoStream()! // The stream's sink will be a file. bodyStream.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. success = rest.readRespBodyStream(bodyStream, autoSetStreamCharset: true) if success != true { print("\(rest.lastErrorText!)") return } print("Successfully streamed the response to a file.") } else { var errResponse: String? = rest.readRespBodyString() if rest.lastMethodSuccess != true { print("\(rest.lastErrorText!)") } else { print("\(errResponse!)") } } } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.