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...) Bunny Sign URL and then Download using Signed URLSee more Bunny CDN ExamplesShows how to sign a URL for BunnyCDN Token Authentication and then use it to download. For more information, see https://support.bunny.net/hc/en-us/articles/360016055099-How-to-sign-URLs-for-BunnyCDN-Token-Authentication
func chilkatTest() { // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. var success: Bool var mySecurityKey: String? = "e7ea8d73-8fa0-44ef-a2cc-91526f7df5ed" var url: String? = "https://test.b-cdn.net/sample-pdf-with-images.pdf" // Extract the URL components. let urlObj = CkoUrl()! urlObj.parseUrl(url) var url_scheme: String? = "https" if urlObj.ssl == false { url_scheme = "http" } var url_host: String? = urlObj.host var url_path: String? = urlObj.path // Calculate an expiration time 1 hour from the current date/time. let expTime = CkoDateTime()! expTime.setFromCurrentSystemTime() expTime.addSeconds(3600) var expires: String? = expTime.getAsUnixTimeStr(false) print("Expires = \(expires!)") // Create the string to hash let sbToHash = CkoStringBuilder()! sbToHash.append(mySecurityKey) sbToHash.append(url_path) sbToHash.append(expires) // Base64Url encoding is the same as base64, except "-" is used instead of "+", // "_" is used instead of "/", and no "=" padding is added. var token: String? = sbToHash.getHash("sha256", encoding: "base64Url", charset: "utf-8") let sbSignedUrl = CkoStringBuilder()! sbSignedUrl.append(url_scheme) sbSignedUrl.append("://") sbSignedUrl.append(url_host) sbSignedUrl.append(url_path) sbSignedUrl.append("?token=") sbSignedUrl.append(token) sbSignedUrl.append("&expires=") sbSignedUrl.append(expires) var signedUrl: String? = sbSignedUrl.getAsString() print("Signed URL: \(signedUrl!)") // Use the signed URL to download the file. let http = CkoHttp()! success = http.download(signedUrl, saveToPath: "c:/aaworkarea/sample.pdf") if success == false { print("\(http.lastErrorText!)") } else { print("Success.") } } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.