Chilkat • HOME • Android™ • AutoIt • C • C# • C++ • Chilkat2-Python • CkPython • Classic ASP • DataFlex • Delphi DLL • Go • Java • Node.js • Objective-C • PHP Extension • Perl • PowerBuilder • PowerShell • PureBasic • Ruby • SQL Server • Swift • Tcl • Unicode C • Unicode C++ • VB.NET • VBScript • Visual Basic 6.0 • Visual FoxPro • Xojo Plugin
(Tcl) 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
load ./chilkat.dll # This example assumes the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. set mySecurityKey "e7ea8d73-8fa0-44ef-a2cc-91526f7df5ed" set url "https://test.b-cdn.net/sample-pdf-with-images.pdf" # Extract the URL components. set urlObj [new_CkUrl] CkUrl_ParseUrl $urlObj $url set url_scheme "https" if {[CkUrl_get_Ssl $urlObj] == 0} then { set url_scheme "http" } set url_host [CkUrl_host $urlObj] set url_path [CkUrl_path $urlObj] # Calculate an expiration time 1 hour from the current date/time. set expTime [new_CkDateTime] CkDateTime_SetFromCurrentSystemTime $expTime CkDateTime_AddSeconds $expTime 3600 set expires [CkDateTime_getAsUnixTimeStr $expTime 0] puts "Expires = $expires" # Create the string to hash set sbToHash [new_CkStringBuilder] CkStringBuilder_Append $sbToHash $mySecurityKey CkStringBuilder_Append $sbToHash $url_path CkStringBuilder_Append $sbToHash $expires # Base64Url encoding is the same as base64, except "-" is used instead of "+", # "_" is used instead of "/", and no "=" padding is added. set token [CkStringBuilder_getHash $sbToHash "sha256" "base64Url" "utf-8"] set sbSignedUrl [new_CkStringBuilder] CkStringBuilder_Append $sbSignedUrl $url_scheme CkStringBuilder_Append $sbSignedUrl "://" CkStringBuilder_Append $sbSignedUrl $url_host CkStringBuilder_Append $sbSignedUrl $url_path CkStringBuilder_Append $sbSignedUrl "?token=" CkStringBuilder_Append $sbSignedUrl $token CkStringBuilder_Append $sbSignedUrl "&expires=" CkStringBuilder_Append $sbSignedUrl $expires set signedUrl [CkStringBuilder_getAsString $sbSignedUrl] puts "Signed URL: $signedUrl" # Use the signed URL to download the file. set http [new_CkHttp] set success [CkHttp_Download $http $signedUrl "c:/aaworkarea/sample.pdf"] if {$success == 0} then { puts [CkHttp_lastErrorText $http] } else { puts "Success." } delete_CkUrl $urlObj delete_CkDateTime $expTime delete_CkStringBuilder $sbToHash delete_CkStringBuilder $sbSignedUrl delete_CkHttp $http |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.