Sample code for 30+ languages & platforms
Swift

Example: Http.QuickGet method

Demonstrates the QuickGet method.

Chilkat Swift Downloads

Swift

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)!)")

}