Sample code for 30+ languages & platforms
Swift

QR Code Generator via api.qrserver.com REST API

See more HTTP Examples

Demonstrates how to generate a QR code using the api.qrserver.com REST API service.

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

    // Send the following GET request to get a binary response.
    // The body of the binary response contains the image data for the QR code.
    // https://api.qrserver.com/v1/create-qr-code/?data=[URL-encoded-text]&size=[pixels]x[pixels]

    let queryParams = CkoJsonObject()!
    queryParams.updateString(jsonPath: "data", value: "Hello World")
    queryParams.updateString(jsonPath: "size", value: "100x100")

    // Get a PNG file..
    // Possible formats are:
    // png
    // gif
    // jpeg
    // jpg
    // svg
    // eps
    // Case matters.  Use lowercase.
    queryParams.updateString(jsonPath: "format", value: "png")

    // Send the GET request to an endpoint.
    // Chilkat will add the url-encoded query params passed in the JSON.
    let resp = CkoHttpResponse()!
    success = http.httpParams(verb: "GET", url: "https://api.qrserver.com/v1/create-qr-code/", json: queryParams, response: resp)
    if success == false {
        print("\(http.lastErrorText!)")
        return
    }

    // Did it succeed?
    if resp.statusCode.intValue != 200 {
        // The response body, if anything, would not be the image data, but would likely be the error text (or HTML, or whatever...)
        print("\(resp.bodyStr!)")
        print("Response status = \(resp.statusCode.intValue)")
        print("Failed.")
        return
    }

    // Success if we get here..
    // Save the binary body as the PNG file, or you can get the bytes of the PNG..
    success = resp.saveBodyBinary(path: "c:/temp/qa_output/qr_code.png")

    // Or get the bytes:
    let bd = CkoBinData()!
    resp.getBodyBd(binData: bd)
    // Use the bytes in bd...
    // See the online reference documentation for the function to access the bytes directly.

    print("Success.")

}