Swift
Swift
Example: Http.QuickGet method
Demonstrates theQuickGet method.
Chilkat Swift Downloads
func chilkatTest() {
var success: Bool = false
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
let http = CkoHttp()!
http.keepResponseBody = true
// This URL is valid and can be tested...
var zipBytes: NSData
zipBytes = http.quickGet(url: "https://chilkatdownload.com/example_data/hamlet.zip")
if http.lastMethodSuccess == false {
print("\(http.lastErrorText!)")
return
}
if http.lastStatus.intValue != 200 {
print("Response status code: \(http.lastStatus.intValue)")
print("\(http.lastResponseBody!)")
return
}
let zip = CkoZip()!
// Open the zip from the bytes contained in bd.
success = zip.open(fromMemory: zipBytes)
if success == false {
print("\(zip.lastErrorText!)")
return
}
// Get the entry for the file we want..
let entry = CkoZipEntry()!
success = zip.entry(of: "hamlet.xml", entry: entry)
if success == false {
print("\(zip.lastErrorText!)")
return
}
// Convert all line endings to CRLF (if needed)
var lineEndingBehavior: Int = 2
var xmlStr: String? = entry.unzip(toString: lineEndingBehavior, srcCharset: "utf-8")
if entry.lastMethodSuccess == false {
print("\(entry.lastErrorText!)")
return
}
// The XML in this case is about 274K, so let's just examine the last 20 lines...
let sb = CkoStringBuilder()!
sb.append(value: xmlStr)
print("\(sb.lastNLines(numLines: 20, bCrlf: true)!)")
}