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
(Go) 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
// This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. var success bool mySecurityKey := "e7ea8d73-8fa0-44ef-a2cc-91526f7df5ed" url := "https://test.b-cdn.net/sample-pdf-with-images.pdf" // Extract the URL components. urlObj := chilkat.NewUrl() urlObj.ParseUrl(url) url_scheme := "https" if urlObj.Ssl() == false { url_scheme = "http" } url_host := urlObj.Host() url_path := urlObj.Path() // Calculate an expiration time 1 hour from the current date/time. expTime := chilkat.NewCkDateTime() expTime.SetFromCurrentSystemTime() expTime.AddSeconds(3600) expires := expTime.GetAsUnixTimeStr(false) fmt.Println("Expires = ", *expires) // Create the string to hash sbToHash := chilkat.NewStringBuilder() 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. token := sbToHash.GetHash("sha256","base64Url","utf-8") sbSignedUrl := chilkat.NewStringBuilder() 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) signedUrl := sbSignedUrl.GetAsString() fmt.Println("Signed URL: ", *signedUrl) // Use the signed URL to download the file. http := chilkat.NewHttp() success = http.Download(*signedUrl,"c:/aaworkarea/sample.pdf") if success == false { fmt.Println(http.LastErrorText()) } else { fmt.Println("Success.") } urlObj.DisposeUrl() expTime.DisposeCkDateTime() sbToHash.DisposeStringBuilder() sbSignedUrl.DisposeStringBuilder() http.DisposeHttp() |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.